1 可在布局中直接更新
可在布局中直接更新的:加粗、斜体、字体;其中 字体文件需要放在res/font/your_font.ttf下
<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" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="在布局文件中设置字体"
android:fontFamily="@font/new_font" />
2 java动态设置
需动态设置的:删除线、下划线,加粗和字体也可动态设置,且需要放于app/src/main/assets/fonts/xxx.ttf下
<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" />
java中
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);
//设置字体
Typeface tf = ResourcesCompat.getFont(context, R.font.new_font);
txt1.setTypeface(tf);
附:
(1)STRIKE_THRU_TEXT_FLAG即Strike Through Text Flag(划穿文本的标志),即文字中划线。
(2)标志可组合使用,使用“|”分割即可,即txt1.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG | Paint.FAKE_BOLD_TEXT_FLAG);