TextView设置样式的3种方式
1,直接在<TextView>中设置
<TextView android:id="@+id/tv_badge_view_count" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/badge_view_layout_bg" android:gravity="center_vertical|center_horizontal" android:text="5" android:textColor="@android:color/white" android:textSize="12sp" />
2,在<TextView style="xxx">中用sytle属性引用其它样式
注意是 style 而不是 android:style
<TextView android:id="@+id/tab_title" style="@style/TextViewStyle" android:textColor="#EEEE00" />
在style.xml中定义样式,好处是可以重用,上述代码就引用了TextViewStyle这个样式,并重载了其中的android:textColor,最终字的颜色为#EEEE00
<style name="TextViewStyle" parent="android:Widget.TextView"> <!-- <item name="android:background">#FF00FF</item> --> <!-- <item name="android:textStyle">bold</item> --> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:textColor">#32CD32</item> <item name="android:textSize">14sp</item> <item name="android:gravity">center_horizontal</item> <item name="android:typeface">monospace</item> <item name="android:maxLines">1</item> <item name="android:ellipsize">end</item> <item name="android:maxLength">15</item> </style>
3,在代码中使用 SpannableString 格式化
public class TextViewLinkActivity extends Activity { TextView mTextView = null; SpannableString msp = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mTextView = (TextView)findViewById(R.id.myTextView); //创建一个 SpannableString对象 msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合"); //设置字体(default,default-bold,monospace,serif,sans-serif) msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置字体大小(绝对值,单位:像素) msp.setSpan(), , , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); msp.setSpan(,, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第二个参数boolean dip,如果为true,表示前面的字体大小单位为dip,否则为像素,同上。 //设置字体大小(相对值,单位:像素) 参数表示为默认字体大小的多少倍 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //0.5f表示默认字体大小的一半 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体大小的两倍 //设置字体前景色 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置前景色为洋红色 //设置字体背景色 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置背景色为青色 //设置字体样式正常,粗体,斜体,粗斜体 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //正常 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗体 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //斜体 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗斜体 //设置下划线 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置删除线 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置上下标 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //下标 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //上标 //超级链接(需要添加setMovementMethod方法附加响应) msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //电话 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //邮件 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //网络 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //短信 使用sms:或者smsto: msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //彩信 使用mms:或者mmsto: msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //地图 //设置字体大小(相对值,单位:像素) 参数表示为默认字体宽度的多少倍 msp.setSpan(, , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体宽度的两倍,即X轴方向放大为默认字体的两倍,而高度不变 //SpannableString对象设置给TextView myTextView.setText(sp); //设置TextView可点击 myTextView.setMovementMethod(LinkMovementMethod.getInstance()); } }
TextView设置样式的3种方式的更多相关文章
- WPF设置样式的几种方式
第一种方式是直接使用Setter来进行,可以对Background等进行设置. <Window.Resources> <Style TargetType="Button&q ...
- 给TextView添加超链接的四种方式
因为在上上篇博客中介绍了SpannableString的使用(SpannableString使用详解),由此想到给TextView添加超链接究竟有多少种方式?经过个人总结,现在一共发现四种,如果还有其 ...
- 原生js更改css样式的两种方式
下面我给大家介绍的是原生js更改CSS样式的两种方式: 1通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3 &quo ...
- 【javascript】原生js更改css样式的两种方式
下面我给大家介绍的是原生js更改CSS样式的两种方式: 1通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3 &quo ...
- javascript总结40:DOM中操作样式的两种方式
1 DOM中操作样式的两种方式 1 通过元素的style属性 注意: 通过style属性设置样式时,css中要写单位的属性,在js代码中也要加单位 //html <div id="bo ...
- 我给女朋友讲编程CSS系列(1) –添加CSS样式的3种方式及样式表的优先权
如果说,原生态就是美,那么,我们就没有必要穿衣打扮. 网页是什么? 说白了,网页就是一堆[html标签]有序的搭配,让[CSS属性值]整整容,请[Javascript语言]处理一下事件. 一个人的整容 ...
- 【iOS开发-72】设置状态栏的两种方式、程序生命周期以及更好地理解几大类(对象)之间的关系
(1)设置状态栏的2种方式 --第一种方式就是我们在控制器中设置,系统默认就是交给视图控制器去管理的,这样不同视图控制器能够自己定义不同的状态栏例如以下: -(BOOL)prefersStatusBa ...
- HTML 引用Css样式的四种方式
不才,只知道HTML引用CSS样式有四种方式,内部引用和外部引用各两种,因为老是忘记细节,记下了随时翻阅亦可方便如我般的初学者 内部引用方式1: 直接在标签内用 style 引用,如: <div ...
- python 中增加css样式的三种方式
增加css样式的三种方式: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
随机推荐
- js中 在数组中删除重复的元素(自保留一个)
例如:var student = [‘qiang’,’ming’,’tao’,’li’,’liang’,’you’,’qiang’,’tao’]; 第一种思路是:遍历要删除的数组arr, 把元素分别放 ...
- Android学习准备
安装真机调试ADB驱动问题处理 如果在安装驱动时出现"Android Composite ADB Interface"错误,并提示数字签名可能存在那么很可能是因为你的系统是wind ...
- IE6/IE7中li底部4px的Bug
当li的子元素中有浮动(float)时,IE6/IE7中<li>元素的下面会产生4px空隙的bug. XHTML <ul class="list"> < ...
- gson小练习之嵌套复杂数据解析
package com.zf.demo; import java.util.List; import com.google.gson.Gson; public class JGson { /** * ...
- 手工添加Linux防火墙端口
在linux实际操作中经常需要对防火墙进行修改,比如经常要修改或添加相关端口,下面以添加运行Tomcat所需8080端口为例: (以下命令操作均为root用户) 1.编辑iptables文件 # vi ...
- Cocos2d-x第一个坑,NDK 编译环境
这些天搭建windows cocos2d-x的环境,基本上崩溃到死.目前好转.终于可以编译通过: 生成模板工程:在cmd下进入cocos2d-x的主目录,D:\Android\cocos2d-x-2. ...
- sirius的python学习笔记(1)
1.可以通过try...except语句来简单的判断字符串是否为整数值,如例程 x = raw_input('>') try: print int(x) except ValueError: r ...
- 针对PIL中ImageDraw.py报错的解决方案
linux mint 13开始就发现这个问题了,一直不知道怎么解决,今天突然发现了解决方案,来分享给大家 下面是修改对比,自己根据修改,这个是系统文件,需要root权限,路径/usr/lib/pyth ...
- MS也遵守规范了
CSS学的好不好,就看你对浏览器的兼容性处理的好不好. 拿opacity来说,本来写成opacity:0.3就完事了,但MS不来这套,它用filter,我们就不得不专门为它而 加上这么一大串(file ...
- Android 管理Activity中的fragments
为了管理Activity中的fragments,需要使用FragmentManager,为了得到它,需要调用Activity中的getFragmentManager()方法,接下来详细介绍,感兴趣的朋 ...