TextView和EDitText

本文深入解析Android界面组件中的文本框与编辑框的使用方法,包括设置文本颜色、字体、带链接的文本、圆角边框、渐变背景等特性,提供丰富的实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android基本界面组件。Android基本界面组件的类图如下:

 

文本框(TextView)与编辑框(EditText)的功能和用法

     TextView直接继承了View,它还是EditText、Button两个UI组件类的父类。TextView的作用就是在界面上显示文字。

     从功能上来看,TextView其实就是一个文本编辑器,只是Android关闭了它的文字编辑功能。如果开发者想要定义一个可以编辑内容的文本框,则可以使用它的子类:EditText,EditText允许用户编辑文本框的内容。

     TextView还派生了一个CheckedTextView,CheckedTextViw增加了一个checked状态,开发者可通过setChecked(boolean)和isChecked()方法来改变、访问该组件的checked状态。除此之外,该组件还可通过setCheckMarkDrawable()方法来设置它的勾选图标。

     TextView和EditText具有很多相似之处,它们之间的最大区别在于TextView不允许用户编辑文本内容,而EditText则允许用户编辑文本内容。

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

       

复制代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <!-- 设置字体为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="我爱Java我爱Java我爱Java我爱Java我爱Java我aaaJava"
    android:ellipsize="middle"
    android:textAllCaps="true"
    />
    <!-- 对邮件、电话增加链接 -->
    <TextView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:singleLine="true" 
    android:text="邮件是kongyeeku@163.com,电话是02088888888"
    android:autoLink="email|phone"
    />
    <!-- 设置文字颜色 、大小,并使用阴影 -->
    <TextView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="测试文字"
    android:shadowColor="#0000ff"
    android:shadowDx="10.0"
    android:shadowDy="8.0"
    android:shadowRadius="3.0"
    android:textColor="#f00"
    android:textSize="18pt"
    />
    <!-- 测试密码框 -->
    <TextView android:id="@+id/passwd"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:password="true"
    />
    <!-- 测试CheckedTextView
    通过checkMark设置该文本框的勾选图标
     -->
    <CheckedTextView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:text="可勾选的文本"
    android:checkMark="@drawable/ok"    
        />
</LinearLayout>
复制代码

运行此Activity将运行出  图 2.17

 实例:圆角边框、渐变背景的TextView

       默认情况下,TextView是不带边框的,如果想为TextView添加边框,只能通过“曲线救国”的方式来实现——我们可以考虑为TextView设置一个背景Drawable,该Drawable是一个边框,这样就实现了带边框的TextView。

      由于可以为TextView设置背景Drawable对象,因此可以在定义Drawable时不仅指定边框,还可以指定渐变背景,这样即可为TextView添加渐变背景和边框。

      下面的界面布局文件中定义了两个TextView,界面布局文件的代码如下。

     

复制代码
<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:drawableLeft绘制一张图片 -->    
<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_mdi文件夹内,该XML文件也可当成Drawable使用。下面该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>
复制代码

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

复制代码
<?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>
复制代码

使用Activity来显示上面定义的布局页面,可以看到如图2.18所示界面。

图2.18 圆角边框、渐变背景的文本

  从图2.18不难看出,通过为TextView的android:background赋值,可以为文本框增加大量自定义的外观,这种控制方式非常灵活。

  需要指出的是,表面上这里只是在介绍TextView,但由于TextView是EditText、Button等类的父类,因此此处介绍的对TextVIew控制的属性,同样适用于EditText与Button。

转载于:https://www.cnblogs.com/Oliver1025/p/5063647.html

### 回答1: TextViewEditText都是Android中的控件,但它们的作用不同。 TextView是用来显示文本的控件,它只能显示文本,不能进行编辑。一般用于显示静态文本,如标题、说明、提示等。 EditText是用来输入编辑文本的控件,用户可以在EditText中输入编辑文本内容。一般用于需要用户输入或编辑文本的场景,如登录、注册、搜索等。 因此,TextViewEditText的区别在于一个是用来显示文本,一个是用来输入编辑文本。 ### 回答2: TextViewEditText都是在Android平台上经常使用的控件,它们都继承自View类,但它们有明显的区别。 TextView是文本显示控件,用于在界面上显示文本信息。它可以用于显示静态文本,文本不可编辑。TextView有多种属性样式可以设置,比如字体大小、颜色、字体样式等等,可以通过代码或者XML布局文件设置。TextView可以用于在应用程序中显示文字、数字或者图片等,但不能对它们进行编辑保存。 EditText是文本编辑控件,可用于用户对文本进行输入编辑。它有多种编辑功能,如滚动、选中、复制、粘贴撤销等。EditText可以输入任意类型的文本,包括数字、符号、富文本等,同时也可以设置文本的外观行为,比如输入法、文本样式、输入格式等等。 因此,TextViewEditText的主要区别在于: 1. 功能不同:TextView用于显示文本内容,而EditText则用于编辑文本内容。 2. 操作方式不同:TextView只能观看,不与用户交互,不支持编辑;而EditText则可以接收用户的输入编辑操作,用户可以随时编辑文本。 3. 属性不同:TextView主要用于显示文本的外观样式,而EditText除此之外还会有其他的功能属性,比如光标、选择、复制、粘贴等等。 总的来说,TextViewEditText是Android中两个非常重要的控件,但它们具有不同的功能用途,开发者需要根据具体需求来选择使用。在应用程序开发中,TextView主要用于展示静态文本内容,而EditText则用于实现用户可编辑的文本输入区域。 ### 回答3: TextView EditText 是 Android 开发中使用较为频繁的两个控件,它们都是用于显示文本内容的控件,但在使用上却又存在着一些区别。下面就来简单介绍一下它们之间的区别: 1. 输入功能:TextView 是不可输入的,它只用来展示文本内容;而 EditText 则是一个可编辑的文本框,用户可以在其中输入自己的文字,比如用户名、密码等等。 2. 光标选中状态:TextView 没有光标选中状态,而 EditText 中的光标可以显示在文本框中,用户可以通过拖曳光标来调整输入的位置。在 EditText 中,还可以通过鼠标或手指对文本框的内容进行选中、复制、剪切粘贴等操作。 3. 文本样式:TextView 可以设置不同的字体、字号、颜色等文本样式,以更好地展示文本内容;而 EditText 在样式上与 TextView 差不多,但它还可以设置输入类型,如数字、电话号码、邮件地址等。 4. 接受输入事件:在使用 EditText 时,可以为它设置输入监听器,当用户在文本框中输入内容时,监听器就会触发相应的事件。而对于 TextView,由于它只是用于展示文本内容,所以没有接受用户输入事件的功能。 综上所述,TextView EditText 在功能上存在着较大的区别。如果你只是需要展示一段文本内容,那么使用 TextView 就可以了;但如果需要用户输入一些内容,就要使用 EditText 了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值