Android文本控件的介绍

在Android中,文本控件主要包括TextView控件和EditText控件。

1.TextView类简介

TextView继承自View类。TextView控件的功能是向用户显示文本内容,同时可选择性地让用户编辑文本。从功能上来讲,一个TextView就是一个完整的文本编辑器,只不过其本身被设置为不允许编辑,其子类EditText被设置为允许用户对内容进行编辑。

TextView控件中包含很多可以在XML文件中设置的属性,这些属性同样可以在代码中动态声明。TextView常用属性及其对应方法如小表所示。

属性名称对应方法说明
android:autoLinksetAutoLinkMask(int)设置是否将指定格式的文本转换为可单击的超链接显示。传入的参数值可取ALL、EMAIL_ADDRESSES、MAP_ADDRESSES、PHONE_NUMBERS和WEB_URLS
android:gravitysetGravity(int)定义TextView在x轴和y轴方向上的显示方式
android:heightsetHeight(int)定义TextView的准确高度,以像素为单位
android:minHeightsetMinHeight(int)定义TextView的最小高度,以像素为单位
android:maxHeightsetMaxHeight(int)定义TextView的最大高度,以像素为单位
android:widthsetWidth(int)定义TextView的准确宽度,以像素为单位
android:minWidthsetMinWidth(int)定义TextView的最小宽度,以像素为单位
android:maxWidthsetMaxWidth(int)定义TextView的最大宽度,以像素为单位
android:hintsetHint(int)当TextView中显示的内容为空时,显示该文本
android:textsetText(CharSequence)为TextView设置显示的文本内容
android:textColorsetTextColor(ColorStateList)设置TextView的文本颜色
android:textSizesetTextSize(float)设置TextView的文本大小
android:typefacesetTypeface(Typeface)设置TextView的文本字体
android:ellipsizesetEllipsize(TextUtils.TruncateAt)如果设置了该属性,当TextView中要显示的内容超过了TextView的长度时,会对内容进行省略。可取的值有start、middle、end和marquee

2.EditText类简介

EditText类继承自TextView。EditText与TextView最大的不同就是用户可以对EditText控件进行编辑,同时还可以为EditText控件设置监听器,用来检测用户的输入是否合法等。下表列出了EditText继承自TextView的常用属性及对应方法说明。

属性名称对应方法说明
android:cursorVisiblesetCursorVisible(boolean)设置光标是否可见,默认可见
android:linessetLines(int)通过设置固定的行数来决定EditText的高度
android:maxLinessetMaxLines(int)设置最大的行数
android:minLinessetMinLines(int)设置最小的行数
android:passwordsetTransformationMethod(TransformationMethod)设置文本框中的内容是否显示为密码
android:phoneNumbersetKeyListener(KeyListner)设置文本框中的内容只能是电话号码
android:scrollHorizontallysetHorizontallyScrolling(boolean)设置文本框是否可以进行水平滚动
android:selectAllOnFocussetSelectAllOnFocus(boolean)如果文本内容可选中,当文本框获得焦点时自动选中全部文本内容
android:shadowColorsetShadowLayer(float,float,float,int)为文本框设置指定颜色的阴影
android:shadowDxsetShadowLayer(float,float,float,int)为文本框设置阴影的水平偏移,为浮点数
android:shadowDysetShadowLayer(float,float,float,int)为文本框设置阴影的垂直偏移,为浮点数
android:shadowRadiussetShadowLayer(float,float,float,int)为文本框设置阴影的半径,为浮点数
android:singleLinesetTransformationMethod(TransformationMethod)设置文本框的单行模式
android:maxLenghtsetFilters(InputFilter)设置最大显示长度

3.文本框使用案例

本案例的主要功能是接受用户输入的电子邮箱地址和电话号码,开发步骤如下。

1)新建一个项目Android_Sample_4_1。

image

2)在项目res/values目录下新建一个colors.xml文件,并在其中声明程序中会用到的颜色资源,代码如下所示。

 
 
  1: <?xml version="1.0" encoding="utf-8"?>
  2: <resources>
  3:     <color name="shadow">#fd8d8d</color>
  4: </resources>

3)打开res/values目录下的strings.xml,在其中输入如下代码。

 
 
  1: <?xml version="1.0" encoding="utf-8"?>
  2: <resources>
  3: 
  4:     <string name="app_name">Android_Sample_4_1</string>
  5:     <string name="tvEmail">邮箱地址\n(如:wyf12345678@wyf.com)</string>
  6:     <string name="etEmail">请输入电子邮件地址</string>
  7:     <string name="tvPhone">电话号码\n(如:1234567890)</string>
  8:     <string name="etPhone">请输入电话号码</string>
  9:     <string name="etInfo">此处显示登记信息</string>
 10: 
 11: </resources>

4)设置应用程序的布局。打开布局文件main.xml,在其中写入本程序布局代码的框架,代码如下所示。

 
 
  1: <?xml version="1.0" encoding="utf-8"?>
  2: <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3:     android:layout_width="fill_parent"
  4:     android:layout_height="fill_parent"
  5:     android:shrinkColumns="0,2" >
  6: 
  7:     <TableRow
  8:         android:layout_width="fill_parent"
  9:         android:layout_height="wrap_content" >
 10: 
 11:         <TextView
 12:             android:id="@+id/tvEmail"
 13:             android:layout_width="wrap_content"
 14:             android:layout_height="wrap_content"
 15:             android:autoLink="email"
 16:             android:ellipsize="end"
 17:             android:text="@string/tvEmail"
 18:             android:textSize="10dp" />
 19: 
 20:         <EditText
 21:             android:id="@+id/etEmail"
 22:             android:layout_width="wrap_content"
 23:             android:layout_height="wrap_content"
 24:             android:hint="@string/etEmail"
 25:             android:inputType="textEmailAddress"
 26:       
 27:             android:selectAllOnFocus="true"
 28:             android:shadowColor="@color/shadow"
 29:             android:maxWidth="160dp"
 30:             android:shadowDx="2.5"
 31:             android:shadowDy="2.5"
 32:             android:shadowRadius="5.0"
 33:             android:textSize="10dp" />
 34:     </TableRow>
 35: 
 36:     <TableRow
 37:         android:layout_width="fill_parent"
 38:         android:layout_height="wrap_content" >
 39: 
 40:         <TextView
 41:             android:id="@+id/tvPhone"
 42:             android:layout_width="wrap_content"
 43:             android:layout_height="wrap_content"
 44:             android:autoLink="phone"
 45:             android:ellipsize="middle"
 46:             android:text="@string/tvPhone"
 47:             android:textSize="10dp" >
 48:         </TextView>
 49: 
 50:         <EditText
 51:             android:id="@+id/etPhone"
 52:             android:layout_width="wrap_content"
 53:             android:layout_height="wrap_content"
 54:             android:hint="@string/etPhone"
 55:             android:maxWidth="160dp"
 56:             android:phoneNumber="true"
 57:             android:selectAllOnFocus="true"
 58:             android:shadowColor="@color/shadow"
 59:             android:shadowDx="2.5"
 60:             android:shadowDy="2.5"
 61:             android:shadowRadius="5.0"
 62:             android:singleLine="true"  
 63:             android:textSize="10dp" >
 64:         </EditText>
 65:     </TableRow>
 66: 
 67:     <EditText
 68:         android:id="@+id/etInfo"
 69:         android:layout_width="wrap_content"
 70:         android:layout_height="wrap_content"
 71:         android:cursorVisible="false"
 72:         android:hint="@string/etInfo"
 73:         android:lines="5"
 74:         android:shadowColor="@color/shadow"
 75:         android:shadowDx="2.5"
 76:         android:shadowDy="2.5"
 77:         android:shadowRadius="5.0" />
 78: 
 79: </TableLayout>
 
 
  1: package wyf.jc;
  2: 
  3: import android.app.Activity;
  4: import android.os.Bundle;
  5: import android.widget.EditText;
  6: import android.view.KeyEvent;
  7: import android.view.View;
  8: import android.view.View.OnKeyListener;
  9: 
 10: public class Android_Sample_4_1Activity extends Activity {
 11: 
 12: 	@Override
 13: 	public void onCreate(Bundle savedInstanceState) {
 14: 		super.onCreate(savedInstanceState);
 15: 		setContentView(R.layout.main);
 16: 		EditText etEmail = (EditText) findViewById(R.id.etEmail);
 17: 		etEmail.setOnKeyListener(myOnKeyListener);
 18: 	}
 19: 
 20: 	private OnKeyListener myOnKeyListener = new OnKeyListener() {
 21: 
 22: 		@Override
 23: 		public boolean onKey(View v, int keyCode, KeyEvent event) {
 24: 
 25: 			EditText etInfo = (EditText) findViewById(R.id.etInfo);
 26: 			EditText etEmail = (EditText) findViewById(R.id.etEmail);
 27: 			etInfo.setText("您輸入的郵箱地址為:" + etEmail.getText());
 28: 
 29: 			return false;
 30: 		}
 31: 	};
 32: 
 33: }

6)运行本程序,运行效果如下图所示。

image

在电子邮件文本框中输入文字,该文本内容将会显示在下方的信息框中。如下图所示。

image

作者:银月莲
出处:http://www.cnblogs.com/moonsilvering
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,包括文章,代码,图片等本站内所有资源,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/moonsilvering/archive/2012/01/13/2322107.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值