2014-2-3TextView及其子类1

1.   文本框TextView

TextView直接继承了View,它还是EditText、Button两个UI组件类的父类。

TextView是显示文本,EditText可以允许用户编辑文本。

TextView还派生了一个CheckedTextView,增加了checked(可勾选)状态。

另外,TextView还派生出Button类。

实例:不同颜色、字体、带链接的文本

Xml代码清单:

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical">

    <!-- 设置字号为20pt,文本框结尾处绘制图片 -->

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="我爱JAVA"

        android:textSize="20pt"

        android:drawableEnd="@drawable/ic_launcher"

        />

    <!-- 设置中间省略,所有字母大写 -->

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:singleLine="true"

        android:text="雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流。hqsA"

        android:textAllCaps="true"

        android:ellipsize="middle"

        />

    <!-- 对邮件、电话添加链接 -->

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:singleLine="true"

        android:text="邮件:[email protected],电话:11011212098"

        android:autoLink="email|phone"

        />

    <!-- 设置文字颜色、大小,并使用阴影 -->

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="测试文字"

        android:shadowColor="#00f"

        android:shadowDx="10.0"

        android:shadowDy="8.0"

        android:shadowRadius="3.0"

        android:textColor="#F00"

        android:textSize="18pt"

        />

    <!-- 测试密码框 -->

    <TextView

        android:id="@+id/password"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/hello"

        android:password="true"

        />

    <CheckedTextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="可勾选的文本"

        android:checkMark="@drawable/ok"

        />"

</LinearLayout>

JAVA代码清单略

效果图:

2.圆角边框、渐变背景TextView

TextView是不带边框的,如果想为TextView添加边框,只能“曲线救国”——为TextView设置一个背景,该DrawView只是一个边框,就可实现带边框的TextView.

       实例:

Xml界面布局文件代码清单:

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

    <!-- 通过android:background指定背景 -->

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="带边框的文本"

        android:textSize="24pt"

        android:background="@drawable/bg_border"

        />

    <!-- 通过android:drawable绘制一张图片 -->

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="圆角边框,简便背景的文本"

        android:textSize="24pt"

        android:background="@drawable/bg_border2"

        />

</LinearLayout>

上面代码定义了两个TextView,其中第一个指定背景,第二个指定使用圆角边框、渐变背景。第一个文本框指定的背景是由xml文件定义的,将该文件放在drawable_mdpi文件夹内,该xml文件也可当成Drawable使用。代码为:

<?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>

   

第二个文本框指定背景由xml文件定义的,将该文件放在drawable_mdpi文件夹内,该xml文件也可当成Drawable使用。代码为

<?xml version="1.0"encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"

    android:shape="rectangle">

    <!-- 指定圆角矩形的4个圆角的半径 -->

    <corners android:topLeftRadius="20px"

        android:topRightRadius="5px"

        android:bottomRightRadius="20px"

        android:bottomLeftRadius="5px"/>

    <!-- 指定边框线条的宽带和颜色 -->

    <stroke android:width="4px"android:color="#f0f"/>

    <!-- 指定使用渐变背景色,使用sweep类型的渐变

    颜色从红色绿色蓝色 -->

    <gradient android:startColor="#f00"

        android:centerColor="#0f0"

        android:endColor="#00f"

        android:type="sweep"/>

</shape>

效果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章