android-UI组件(二):TextView及其子类

下面列出了TextView及其子类的类图关系:


TextView与EditText具有很多相似的地方,它们最大的不同在于:TextView不允许用户编辑文本内容,EditText允许用户编辑文本内容。

TextView提供大量XML属性,这些XML属性适用于TextView以及它的子类,下面列出这些XML属性以及相关方法:






1、EditText:

EditText组件最重要的属性是inputType,该属性相当于HTML的<input .../>元素的type属性。

EditText派生如下两个子类:

(1)AutoCompleteTextView:带有自动完成功能的EditText,该类常与Adapter结合使用

(2)ExtractEditText:并不是UI组件,而使EditText组件的底层服务类,负责提供全屏输入法支持


2、Button:

Button继承自TextView,主要在UI界面上生成一个按钮,当用户单击时,触发一个onClick事件,

可以使用android:background属性为按钮增加背景颜色或者背景图片,如果要实现动态图片,则使用Drawable对象来实现。

下面只是一个简单的例子:


activity_button.xml如下:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ButtonActivity" >

    <TableRow>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:shadowColor="#aa5"
            android:shadowDx="5"
            android:shadowDy="5"
            android:shadowRadius="1"
            android:text="@string/bn1"
            android:textSize="12pt" />
    </TableRow>

    <TableRow>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/red"
            android:text="@string/bn2"
            android:textSize="10pt" >
        </Button>
    </TableRow>

    <TableRow>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_selector"
            android:text="@string/bn3"
            android:textSize="11pt" >
        </Button>
    </TableRow>

</TableLayout>
button_selector.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/blue" android:state_pressed="true"></item>
    <item android:drawable="@drawable/purple" android:state_pressed="false"></item>

</selector>
这里的button3就是实现的按钮动态图片,要好好体会。

(1)RadioButton:单选按钮,每次只能选中一个,常与RadioGroup一起使用

(2)CheckBox:复选框,每次可以选中若干个

(3)ToggleButton:状态开关按钮

(4)Switch:开关

ToggleButton、Switch与CheckBox很相似,但是它们之间的主要区别在功能上,ToggleButton、Switch通常用于切换程序中的某种状态,

ToggleButton支持的XML属性:


Switch支持的XML属性:



3、AnalogClock/DigitalClock :

DigitalClock本身就继承了TextView,只是里面显示的内容是当前时间,DigitalClock继承了TextView的所有属性。

AnalogClock继承了View组件,重写View的OnDraw方法,它会在View绘制模拟时钟,AnalogClock的属性如下:



4、Chronometer:

计时器组件,该组件与DigitalClock一样,都继承TextView,但是Chronometer并不显示当前时间,而是显示从某个起始时间开始,一共过去多少时间。

Chronometer支持如下的方法:


下面是几种SystemClock的常用方法:



android-UI组件(二):TextView及其子类,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。