TextView基本使用

1.在程序中创建TextView对象


TextView tv=new TextView(this);
tv.setText("你好");
setContentView(tv);


2.在XML布局文件中使用


TextView属性


设置字体的大小推荐使用sp作为单位               android:textSize="20sp"
设置宽度或高度等属性时推荐使用dp(dip)作为单位


看到有很多人不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。     
下面看一下其他单位的含义 
px:表示屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。
in:表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。 
mm:表示毫米,是屏幕的物理尺寸。 
pt:表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。


改变Textview字体颜色


1.android:textColor设置文本颜色                  android:textColor="#00FF00"


2.tv.setText(Html.fromHtml("欢迎大家收看《Android开发从零开始》系列课程。感谢大家的支持。"));


3.TextView tv = (TextView) findViewById(R.id.tv);
  String str = "欢迎大家收看《Android开发从零开始》系列课程。感谢大家的支持。";
  SpannableStringBuilder style = new SpannableStringBuilder(str);
  style.setSpan(new ForegroundColorSpan(Color.RED), 0, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  style.setSpan(new ForegroundColorSpan(Color.GREEN), 6, 21, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  style.setSpan(new ForegroundColorSpan(Color.BLUE), 21, 34, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  tv.setText(style);


设置超链


android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)


android:autoLink="all"
android:text="欢迎大家收看《Android开发从零开始》系列课程。感谢大家的支持。我的博客:http://blog.csdn.net/coolszy我的电话:13813813810"


跑马灯效果


android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—-省略号显示在开头;”end” ——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)
android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表示无限次。
android:focusableInTouchMode:是否在触摸模式下获得焦点。
android:focusable控件是否能够获取焦点


android:singleLine="true"
android:focusable="true" 
android:ellipsize="marquee" 
android:marqueeRepeatLimit="marquee_forever" 
android:focusableInTouchMode="true"

你可能感兴趣的:(android)