您的位置:首页 > 其它

改变textView之中任意字体的大小、粗细、颜色

2017-12-29 17:04 671 查看

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
/>
</LinearLayout>
java:
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StrikethroughSpan;
import android.text.style.StyleSpan;
import android.text.style.UnderlineSpan;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
TextView tv1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1= (TextView) findViewById(R.id.tv1);
String unames = "对的呀";
SpannableString ss = new SpannableString(unames);

//设置字体背景色
ss.setSpan(new BackgroundColorSpan(Color.CYAN), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //设置背景色为青色

ss.setSpan(new AbsoluteSizeSpan(50), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//字体大小
ss.setSpan(new AbsoluteSizeSpan(90), 1, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//字体大小
ss.setSpan(new AbsoluteSizeSpan(50), 2, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//字体大小

ss.setSpan( new ForegroundColorSpan(0xFFFF0000), 1,2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //字体颜色

//设置字体样式正常,粗体,斜体,粗斜体
//        ss.setSpan(new StyleSpan(android.graphics.Typeface.NORMAL), 1, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //正常
//        ss.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 1, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //粗体
//        ss.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 1, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //斜体
ss.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 1, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //粗斜体
//设置下划线
ss.setSpan(new UnderlineSpan(), 0, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//设置删除线
ss.setSpan(new StrikethroughSpan(), 0, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv1.setText(ss);
}
}


[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: