Android基本组件(二)

592 查看

第二组UI组件:TextView及其子类


1.TextView直接继承了View,TextView提供了大量的XML属性,这些属性都可以应用到它的子类当中(EditText,Button等)。
简单的列举几个XML属性,代码如下:

        <TextView
        android:id="@+id/textView1"
<!--         包裹内容 -->
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
<!--         设置字体颜色 -->
        android:textColor="#0ff"
<!--        文本信息 -->
        android:text="曾田生z的邮箱是920497300@qq.com,电话是15710394832"
<!--         将E-mail,phone转换为连接 -->
        android:autoLink="email|phone"
<!--         设置背景图片 -->
        android:background="@drawable/bg" 
<!--         文本的阴影设置 -->
        android:shadowColor="#00f"
        android:shadowDx="10.0"
        android:shadowDy="7.0"
        android:shadowRadius="2.0" 
        />

补充:
上述代码的设置背景图片 background 的drawable 也可以XML代码来写
在drawable_mdpi文件夹下创建XML代码如下:

    <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!--     设置背景色为透明色 -->
    <solid android:color="#0000"/>
<!--     设置红色边框 -->
    <stroke android:width="4PX" android:color="#f00"/>

</shape>

2.EditText与TextView非常相似,区别在于EditText可以接受用户输入,其中最重要的属性是 inputType 指定该文本框的类型。
下面是XML代码:

         <EditText
        android:id="@+id/ET"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
<!--         获得焦距是自动选择文本 -->
        android:selectAllOnFocus="true"
<!--         当文本为空时可显示提示内容 -->
        android:hint="提示文本"
<!--         文本只能输入数字 -->
        android:inputType="number"/>

3.Button继承的是TextView,所以TextView的XML属性都可以用。Button可以触发单击事件 onClick ,在这里先不展开,只讨论它的属性。
XML代码如下:

        <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable|be"
        android:textSize="10pt"
        android:text="按钮" />

补充:
上述代码的设置背景图片 background 的drawable 也可以XML代码来写
代码如下:

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!--     指定按钮按下时的图片 -->
    <item android:state_pressed="true"
        android:drawable="@drawable|d1"/>
<!--     指定按钮松开时的图片 -->
    <item android:state_pressed="false"
        android:drawable="drawable|d2"/>

</selector>

4.ToggleButton与Switch,这两种按钮继承了Button,通常用于切换程序中的某种切换状态。
下面是XML代码:

        <Switch
        android:id="@+id/switch1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
<!--         状态开改变时显示的文本 -->
        android:textOff="横向排列"
        android:textOn="纵向排列"
<!--            设置开关是否被选中    -->
        android:checked="true"
        android:text="Switch" />

    <ToggleButton
        android:id="@+id/ToggleButon1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
<!--         状态开改变时显示的文本 -->
        android:textOff="水平排列"
        android:textOn="垂直排列"
<!--         设置开关是否被选中 -->
        android:checked="true"
        android:text="ToggleButon" />

5.AnalogClock和DigitalClock,时钟组件本身就继承了TextView,也就是说它们本身就是文本框,只是它里面的内容显示的是当前的时间
下面是XML代码:

    <!-- 定义模拟时钟 -->

    <DigitalClock
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#00c"
        android:textSize="14pt" />

    <AnalogClock  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        />
<!-- 定义数字时钟 -->
<!-- 定义模拟时钟,并使用自定义表盘、时针图片 -->
    <AnalogClock  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:dial="@drawable/watch"
        android:hand_minute="@drawable/hand"
        />