当前位置: 首页 > 工具软件 > html-textview > 使用案例 >

android-------textview文字的设置

陈晟睿
2023-12-01

TextView设置部分文字大小、加粗、倾斜、颜色、背景、分行显示。

textView如果想要强制换行的话,必须先把TextView显示方式修改为多行(android:singleLine="false"),然后才能换行。
方法一般用两种:
    1、在字符串里加入“\n”,如"abc\nrc";
   2、把TextView设置为固定宽度,然后让系统自动换行。如android:layout_width="100dp";
 
 
public class MainActivity extends AppCompatActivity {    
    @Override    
    protected void onCreate(Bundle savedInstanceState) {        
            super.onCreate(savedInstanceState);        
            setContentView(R.layout.activity_main);    

            String str="32号字体加粗斜体加粗斜体红色绿色背景";        

            SpannableStringBuilder style=new SpannableStringBuilder(str);        
            style.setSpan(new AbsoluteSizeSpan(sp2px(this,32)), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);                    
            style.setSpan(new StyleSpan(Typeface.BOLD),5,7,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);            
            style.setSpan(new StyleSpan(Typeface.ITALIC),7,9,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        
            style.setSpan(new StyleSpan(Typeface.BOLD_ITALIC),9,13,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        
            style.setSpan(new ForegroundColorSpan(Color.RED),13,15,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);        
            style.setSpan(new BackgroundColorSpan(Color.GREEN),15,19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        


            TextView textView=(TextView) findViewById(R.id.text);        
            textView.setText(style);    
}    

    public static int sp2px(Context context, float spValue){        
            final float scale = context.getResources().getDisplayMetrics().scaledDensity;        
            return (int) (spValue * scale + 0.5f);    
    }
}
对英文加粗
XML代码
android:textStyle="bold"
对中文加粗
Java代码
TextView textView = (TextView) findViewById(R.id.textview);
textView.getPaint().setFakeBoldText(true);
对部分文字加粗
Java代码
TextView textView = (TextView) findViewById(R.id.textview);
textView.setText(Html.fromHtml("不需要加粗的文字<b><tt>需要加粗的文字</tt></b>"));

 
 

 类似资料: