第二组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"
/>