前面学习了Activity之后,现在学习一下Activity中的一些基本控件,今天要学习的是TextView。
一、关于TextView控件
设置字体的大小推荐使用sp作为单位
设置宽度或高度等属性时推荐使用dp(dip适合分辨率)作为单位
设置行间距:android:lineSpacingExtra="5dip"
设置行间距的倍数:android:lineSpacingMultiplier="2"
关于尺寸详细信息可参考:http://blog.csdn.net/muyu114/article/details/6393295
—让TextView字体大小不随系统设置的字体大小变化:
1、java代码中:textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, 24);
2、xml文件中:android:textSize="30px"
二、TextView的基本使用
TextView tView = new TextView(this);
tView.setText("create TextView");
setContentView(tView);
<TextView
android:layout_width=“fill_parent“<!—表示宽度和父类窗口一样-->
android:layout_height=“wrap_content”<!—表示高度是显示内容的高度-->
android:id=“@+id/tv”<!—给该控件添加一个id名字是tv,会在R.java中生成全局静态变量-->
android:textSize=“25sp”<!—表示字体大小-->
android:text=“@string/tView_name”<!—引用string文件中的键值对的值-->
/>
TextView tv= (TextView)findViewById(R.id.tv);//通过id找到这个控件
三、Textview设置字体颜色
android:textColor="#ff0000“<!—字体颜色[红:#ff0000][绿:#00ff00][蓝:#0000ff]-->
TextView tv = (TextView)findViewById(R.id.tView);
tv.setText(Html.fromHtml("<font color=blue>某某</font>正在吃东西!哈哈"));
TextView tv = (TextView)findViewById(R.id.tView);
SpannableStringBuilder style =newSpannableStringBuilder("某某正在吃东西!哈哈");
style.setSpan(newForegroundColorSpan(Color.RED), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new ForegroundColorSpan(Color.GREEN), 2, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new ForegroundColorSpan(Color.BLUE), 8, 9, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(style);
---------------------------------------------------------
BackgroundColorSpan设置的是背景颜色
ForegroundColorSpan设置的是字体颜色
---------------------------------------------------------
四、Textview设置超链
设置当文本为URL链接/email/电话号码/map时,文本是否显示为可点击的链接。
可选值(none/web/email/phone/map/all)
五、Textview设置跑马灯效果
设置当文字过长时,该控件该如何显示。有如下值设置:
start—-省略号显示在开头;
end——省略号显示在结尾;
middle—-省略号显示在中间;
marquee——以跑马灯的方式显示(动画横向移动):此时以下三个必须同时设置才会有跑马灯的效果
在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表示无限次。
六、Textview带滚动条
<TextView
android:id="@+id/textV"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="false"
android:maxLines="5"
android:scrollbars="vertical"
/>
二、还需要在代码中设置 TextView 相应的方法
TextView textView = (TextView)findViewById(R.id.textV);
textView.setMovementMethod(ScrollingMovementMethod.getInstance());