我是靠谱客的博主 无辜柚子,最近开发中收集的这篇文章主要介绍android中一个TextView实现不同的样式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

android中一个TextView实现不同的样式 

第一步:
styles文件中设置要显示的不同的样式,因为要显示不同的样式,所以样式至少需要设置两个。




<style name="mText_style1">    
<item name="android:textSize">12sp</item>  根据需要自行添加
<item name="android:textColor">#00ff00</item> 
</style>
<style name="mText_style2"> 
  <item name="android:textSize">12sp</item>
<item name="android:textColor">#ff0000</item>
</style>




第二步:
xml文件中添加TextView标签


<TextView
        android:gravity="center"
        android:id="@+id/mText"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="将要实现不同的样式,这是效果"
    />




第三步:
获取TextView后,设置样式
mText = (TextView) findViewById(R.id.mText);
// 首先拿到TextView内容的长度
int len = mText.getText().length();
//创建SpannableString对象,参数为TextView的内容
SpannableString mSpannableString = new SpannableString(mText.getText().toString());
//开始设置第一种样式
mSpannableString.setSpan(new TextAppearanceSpan(getActivity(), R.style.money_style2)
              , 0, len - 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//开始设置第二种样式
mSpannableString.setSpan(new TextAppearanceSpan(getActivity(), R.style.money_style1)
              , len - 4, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


//根据需求,可以这是N种样式,如果设置了相同开始位置和结束位置的样式,以最后设置的为准。
        
//把设置完的样式赋值TextView 用于显示出来。
mText.setText(mSpannableString);




mSpannableString.setSpan(Object what, int start, int end, int flags)


//        Object what  new TextAppearanceSpan(getActivity(), 样式)  样式即 styles 设置的样式
//        int start     开始的位置
//        int end       结束的位置
//        int flags     Spannable的样式



运行前的效果:



运行后的效果:

      












最后

以上就是无辜柚子为你收集整理的android中一个TextView实现不同的样式的全部内容,希望文章能够帮你解决android中一个TextView实现不同的样式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部