Android 对TextView添加删除线,下划线,加粗,斜体等效果

来源:互联网 发布:mac os x10.10raid 编辑:程序博客网 时间:2024/05/16 01:25

一:介绍

大家在项目中,比如购物类,有原价和折扣价这样很可能就需要对原价添加删除线,对折扣价添加加粗效果等等.而给TextView添加超链接,个人认为加点击事件就可以解决了.好了,下面贴一张效果图供大家直观地看一下.

二:效果图



三:实现

1.布局文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.zidiv.addlinetotextview.MainActivity">    <TextView        android:id="@+id/txt1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="添加删除线"        android:textColor="#FE7E00"        android:textSize="16sp" />    <TextView        android:id="@+id/txt2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="在代码中设置加粗"        android:textColor="#FE7E00"        android:textSize="16sp" />    <TextView        android:id="@+id/txt3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="添加下划线"        android:textColor="#FE7E00"        android:textSize="16sp" />    <TextView        android:id="@+id/txt4"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="在布局文件中设置加粗"        android:textColor="#FE7E00"        android:textSize="16sp"        android:textStyle="bold" />    <TextView        android:id="@+id/txt5"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="在布局文件中设置斜体字"        android:textColor="#FE7E00"        android:textSize="16sp"        android:textStyle="italic" />    <TextView        android:id="@+id/txt6"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="在布局文件中设置斜体加斜体字"        android:textColor="#FE7E00"        android:textSize="16sp"        android:textStyle="italic|bold" /></LinearLayout>


2.activity代码,注释比较详细:

package com.zidiv.addlinetotextview;import android.graphics.Paint;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.TextView;/** * 对textview加删除线,下划线等等操作 */public class MainActivity extends AppCompatActivity {    private TextView txt1, txt2, txt3;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        txt1 = ((TextView) findViewById(R.id.txt1));        txt2 = ((TextView) findViewById(R.id.txt2));        txt3 = ((TextView) findViewById(R.id.txt3));        //添加删除线        txt1.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);        //在代码中设置加粗        txt2.getPaint().setFlags(Paint.FAKE_BOLD_TEXT_FLAG);        //添加下划线        txt3.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);        //第四个是在布局文件中设置加粗        //第五个是在布局文件中设置斜体字        //第六个是在布局文件中设置斜体加斜体字    }}


四:好了,比较简单,就先到这,需要的话还会添加其他效果进来的,谢谢!

2 0