Android TextView 组件
来源:互联网 发布:mysql ant value 编辑:程序博客网 时间:2024/05/12 23:48
转载自:http://blog.csdn.net/shulianghan/article/details/17676221,略有改动。
更多TextView属性参见API:http://android.toolib.net/reference/android/widget/TextView.html
一、文本转链接
<span style="font-family:Microsoft YaHei;">android:autoLink,可选属性值:none,web,email,phone,map,all;对应方法:setAutoLinkMask(int)</span>
如果没有特殊需求,不要自动将电话变成超链接,因为不是所有的Android设备都能打电话,而且各国的电话号码格式都不同,容易将一般数字误差成电话。
也不要自动将地址变成超链接,并非所有设备上都装有地图APP
如果在XML設定autoLink,啟用了AutoLink屬性的話,LinkMovementMethod將會被自動加入TextView中,因此沒有必要使用setMovementMethod再指定LinkMovementMethod。(需要添加此方法的情况见第十条)
二、设置图片
<span style="font-family:Microsoft YaHei;">android:drawableLeft等对应方法:setCompoundDrawablesWithIntrinsicBounds(drawable,drawable,drawable,drawable)android:drawablePadding,设置图片与文本间距</span>
三、显示省略
<span style="font-family:Microsoft YaHei;">必须先用android:singleLine设置文本行数为单行android.ellipsize,可选属性值none,start,middle,end,marquee。</span>
四、文本滚动
上面的ellipsize属性值中,marquee指文本滚动,由于TextView获得焦点时才会滚动,所以设置此属性时还应加上:<span style="font-family:Microsoft YaHei;">android:focusableInTouchMode="true"android:focusable="true"可选属性,滚动的重复次数:android:marqueeRepeatLimit="marquee_forever"</span>
Demo:
<span style="font-family:Microsoft YaHei;"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="天下英雄出我辈,一入江湖岁月催。皇图霸业谈笑间,不胜人生一场醉" android:textSize="20dp" android:singleLine="true" android:ellipsize="marquee" android:focusableInTouchMode="true" android:focusable="true" /></span>
等效的Java代码:
<span style="font-family:Microsoft YaHei;">mTVText.setText("天下英雄出我辈,一入江湖岁月催。皇图霸业谈笑间,不胜人生一场醉");mTVText.setSingleLine(true);mTVText.setEllipsize(TruncateAt.MARQUEE);TextView.setHorizontallyScrolling(true); //让文字可以水平滑动</span>
五、设置文本颜色、大小、阴影
<span style="font-family:Microsoft YaHei;">android:textColor,颜色对应方法:setTextSize(float)android:textSize,大小对应方法:setTextColor()android:shadowColor,阴影颜色android:shadowDx,阴影水平偏移android:shadowDy,阴影垂直偏移android:shadowRadius,阴影模糊程度对应方法:setShadowLayer(float, float, float, int)</span>
六、显示的文本为密码
<span style="font-family:Microsoft YaHei;">android:password="true" 对应方法:setTransformationMethod(TransformationMethod)</span>
七、可勾选文本
<span style="font-family:Microsoft YaHei;">CheckedTextView,是TextVIew的子类。setChecked(boolean),设置checked状态isChecked(),获取checked状态setCheckMarkDrawable(),设置勾选图标toggle(),切换状态android:checkMark,属性值是一个drawable图片单选可以设置成 "?android:attr/listChoiceIndicatorSingle" 多选可以设置成 "?android:attr/listChoiceIndicatorMultiple"</span>
八、添加边框和背景
通过android:background自定义背景eg:
<span style="font-family:Microsoft YaHei;"><?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 设置背景为透明色 --> <solid android:color="#0000" /> <!-- 设置边框的厚度为4像素, 设置边框颜色 --> <stroke android:width="10px" android:color="#01DF01"/> <!-- 设置背景颜色渐变 从 红色 -> 绿色 -> 蓝色, 渐变的类型为sweep渐变 --> <gradient android:startColor="#f00" android:centerColor="#0f0" android:endColor="#00f" android:type="sweep"/> <!-- 设置该矩形的四个角的角度弧度 --> <corners android:topLeftRadius="20px" android:topRightRadius="5px" android:bottomRightRadius="20px" android:bottomLeftRadius="5px"/> </shape> </span>
九、三个width属性的优先级
<span style="font-family:Microsoft YaHei;">android:layout_width > android:width > android:minWidth</span>
十、显示HTML效果页面
使用Html.fromHtml("")方法, 参数是html代码, 可以使用html标签设置文本效果<span style="font-family:Microsoft YaHei;">textView.setText(Html.fromHtml("<font color='red'><big>变大, 红色 </big></font>" + " 正常 " + "<font color='green'><small> 变小, 绿色</small></font> ")); </span>
这种方法将使Html的超链接失效,再添加一行代码即可解决:
text.setMovementMethod(LinkMovementMethod.getInstance());
-- 浏览器访问 :
<span style="font-family:Microsoft YaHei;">Uri uri = Uri.parse("http://blog.csdn.net/shulianghan"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); </span>
-- 使用TextView显示 :
<span style="font-family:Microsoft YaHei;">TextView tv_1 = (TextView)findViewById(R.id.tv_1); tv_1.setText(Html.fromHtml("<font size='20' color='#ff0000'>显示网页信息</font>")); </span>
-- 使用WebView组件显示 :
<span style="font-family:Microsoft YaHei;">WebView webview = (WebView) findViewById(R.id.wv); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("http://blog.csdn.net/shulianghan"); </span>
十一、Spannable设置TextView特效
a. 创建Spannable对象 : 使用new SpannableString("")创建该对象, 传入想要添加效果的字符串;b. 为指定范围的字符串添加效果 : span.setSpan(new AbsoluteSizeSpan(58), 1, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE), 为下标从 1 ~ 5的字符串添加 字体大小为58像素的效果;
c. 将Spannable对象设置给TextView : textView.setText(span);
实例 :
<span style="font-family:Microsoft YaHei;">TextView textView = (TextView) findViewById(R.id.tv_1); Spannable span = new SpannableString("使用Spannable设置字体效果"); span.setSpan(new AbsoluteSizeSpan(58), 1, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); span.setSpan(new ForegroundColorSpan(Color.RED), 1, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); span.setSpan(new BackgroundColorSpan(Color.YELLOW), 1, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); textView.setText(span); </span>
效果图:
0 0
- Android组件之TextView
- android组件 TextView Button
- Android组件之TextView
- Android TextView 组件
- Android之路-TextView组件
- Android UI之TextView组件
- Android组件详解—TextView
- Android常用UI组件 - TextView
- Android自定义组件之TextView
- android常用组件之TextView组件
- Android用户界面 UI组件--TextView及其子类(一) TextView
- Android基本组件02(TextView)
- Android初级之组件基础01-TextView
- Android开发之UI组件TextView
- Android的UI组件之TextView、EditText
- android组件TextView实现字体水平滚动
- Android组件 文字标签(TextView)
- Android组件 文字标签(TextView)
- java数据类型
- Freemarker入门案例
- Java创建以及读写xml文档(dom方式)
- avro 1.7.7中存在致命的bug, 可以使用1.7.4版本
- Guava并发
- Android TextView 组件
- epuck kernel
- Freemarker 最简单的例子程序
- 关于cannot perform this action after onsaveinstancestate的解决办法
- actionbar tab 字体大小设置
- JSON日期格式化
- 为什么设计模式在C++社区没有Java社区流行?
- 插入排序
- 服务器上搭建apache+mysql+php+memCache