关闭

15.2.2 TextView组件(转)

462人阅读 评论(0) 收藏 举报

15.2.2  TextView组件

在前面介绍的移动开心网的登录界面已经使用过TextView组件,但只涉及了TextView组件非常初级的用法。TextView组件的功能远不止显示文本这么简单,在本节将更进一步介绍TextView组件的功能。

TextView组件的基本用法在前面已经多次接触到了,下面再来回顾一下。TextView组件使用<TextView>标签定义,下面的代码是TextView组件最基本的用法。

  1. < TextView   android:id = "@+id/textview1"  
    android:layout_width = "fill_parent"  
  2.          android:layout_height = "wrap_content"  
    android:text = "可以在这里设置TextView组件的文本"   />  

上面的代码表示TextView的宽度应尽可能充满TextView组件所在的容器。将高度设为wrap_content,表示TextView组件的高度需要根据组件中文本的行数、字体大小等因素决定。

当然,还可以对TextView组件进行更复杂的设置,例如,设置TextView组件的文字字体大小、文字颜色、背景颜色、文本距 TextView组件边缘的距离、TextView组件距其他组件的距离等。下面的代码包含了3个<TextView>标签,这3个标签设置 了上述的TextView组件的相应属性。

  1. <? xml   version = "1.0"   encoding = "utf-8" ?>  
  2. < LinearLayout   xmlns:android = "http://schemas.
    android.com/apk/res/android"
     
  3.      android:orientation = "vertical"   android:
    layout_width
    = "fill_parent"  
  4.      android:layout_height = "fill_parent" >  
  5.      < TextView   android:id = "@+id/textview1"  
    android:layout_width = "fill_parent"  
  6.       android:layout_height = "wrap_content"  
    android:textColor = "#0000FF"  
  7.       android:background = "#FFFFFF"   android:
    text
    = "可以在这里设置TextView组件的文本"   />  
  8.      < TextView   android:id = "@+id/textview2"  
    android:layout_width = "fill_parent"  
  9.       android:layout_height = "wrap_content"  
    android:text = "更复杂的设置"  
  10.       android:textSize = "20dp"   android:textColor = "#FF00FF"    
  11.       android:background = "#FFFFFF"   android:
    padding
    = "30dp"   android:layout_margin  = "30dp" />  
  12.      < TextView   android:id = "@+id/textview3"  
    android:layout_width = "fill_parent"  
  13.       android:layout_height = "wrap_content"  
    android:textColor = "#FF0000"    
  14.       android:background = "#FFFFFF"   android:
    text
    = "可以在这里设置TextView组件的文本"   />  
  15. </ LinearLayout >  

上面代码中大多数属性的含义从字面上就可以猜出来,但要注意两个属性:android: padding和android:layout_margin,其中android:padding属性用于设置文字距TextView组件边缘的距 离,android:layout_margin属性用于设置TextView组件距离相邻其他组件的距离。这两个属性设置的都是四个方向的距离,也就是 上、下、左、右的距离。如果要单独设置这四个方向的距离,可以使用其他的属性,这些属性名字的规则是在这两个属性后面添加Left、Right、Top和 Bottom,例如,设置TextView组件距离左侧的组件的距离,可以使用android: layout_marginLeft属性。

要注意的是,由于第2个<TextView>标签的android:layout_width属性值是fill_parent,因此, 文字距TextView组件右侧的距离并不是android:padding属性的值。系统会优先使用android:layout_width属性的值 来设置TextView组件到右侧组件(这里是屏幕的右边缘)的距离。

除了可以在XML布局文件中设置TextView组件的属性外,还可以在代码中设置TextView组件的属性(实际上,所有的组件都可以采用这两种方式设置它们的属性)。例如,下面的代码设置了文本的颜色。

  1. TextView  textView  = (TextView) findViewById(R.id.textview4);  
  2. textView.setTextColor(android.graphics.
    Color.RED); //  使用实际的颜色值设置字体颜色 

设置TextView组件背景色的方法有3个,这些方法如下。

setBackgroundResource:通过颜色资源ID设置背景色。

setBackgroundColor:通过颜色值设置背景色。

setBackgroundDrawable:通过Drawable对象设置背景色。

下面的代码分别演示了如何用这3个方法来设置TextView组件的背景色。

使用setBackgroundResource方法设置背景色:

  1. textView.setBackgroundResource(R.color.background); 

使用setBackgroundColor方法设置背景色:

  1. textView.setBackgroundColor(android.graphics.Color.RED); 

使用setBackgroundDrawable方法设置背景色:

  1. Resources  resources = getBaseContext ().getResources();  
  2. Drawable  drawable = resources .getDrawable(R.color.background);  
  3. textView.setBackgroundDrawable(drawable);
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27136次
    • 积分:379
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:42篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档
    最新评论