分享

Android文本控件的介绍

 杰出天下 2012-02-22

在Android中,文本控件首要包含TextView控件和EditText控件。

1.TextView类简介

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

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

属性名称 对应办法 申明
android:autoLink setAutoLinkMask(int) 设置是否将指定格局的文本转换为可单击的超链接显示。传入的参数值可取ALL、EMAIL_ADDRESSES、MAP_ADDRESSES、PHONE_NUMBERS和WEB_URLS
android:gravity setGravity(int) 定义TextView在x轴和y轴标的目标上的显示体式格式
android:height setHeight(int) 定义TextView的正确高度,以像素为单位
android:minHeight setMinHeight(int) 定义TextView的最小高度,以像素为单位
android:maxHeight setMaxHeight(int) 定义TextView的最大高度,以像素为单位
android:width setWidth(int) 定义TextView的正确宽度,以像素为单位
android:minWidth setMinWidth(int) 定义TextView的最小宽度,以像素为单位
android:maxWidth setMaxWidth(int) 定义TextView的最大宽度,以像素为单位
android:hint setHint(int) 当TextView中显示的内容为空时,显示该文本
android:text setText(CharSequence) 为TextView设置显示的文本内容
android:textColor setTextColor(ColorStateList) 设置TextView的文本色彩
android:textSize setTextSize(float) 设置TextView的文本大小
android:typeface setTypeface(Typeface) 设置TextView的文本字体
android:ellipsize setEllipsize(TextUtils.TruncateAt) 若是设置了该属性,当TextView中要显示的内容跨越了TextView的长度时,会对内容进行省略。可取的值有start、middle、end和marquee

2.EditText类简介

EditText类持续自TextView。EditText与TextView最大的不合就是用户可以对EditText控件进行编辑,同时还可认为EditText控件设置****,用来检测用户的输入是否合法等。下表列出了EditText持续自TextView的常用属性及对应办法申明。

属性名称 对应办法 申明
android:cursorVisible setCursorVisible(boolean) 设置光标是否可见,默承认见
android:lines setLines(int) 经由过程设置固定的行数来决意EditText的高度
android:maxLines setMaxLines(int) 设置最大的行数
android:minLines setMinLines(int) 设置最小的行数
android:password setTransformationMethod(TransformationMethod) 设置文本框中的内容是否显示为暗码
android:phoneNumber setKeyListener(KeyListner) 设置文本框中的内容只能是德律风号码
android:scrollHorizontally setHorizontallyScrolling(boolean) 设置文本框是否可以进行程度迁移转变
android:AllOnFocus setSelectAllOnFocus(boolean) 若是文本内容可选中,当文本框获得核心时主动选中全部文本内容
android:shadowColor setShadowLayer(float,float,float,int) 为文本框设置指定色彩的暗影
android:shadowDx setShadowLayer(float,float,float,int) 为文本框设置暗影的程度偏移,为浮点数
android:shadowDy setShadowLayer(float,float,float,int) 为文本框设置暗影的垂直偏移,为浮点数
android:shadowRadius setShadowLayer(float,float,float,int) 为文本框设置暗影的半径,为浮点数
android:singleLine setTransformationMethod(TransformationMethod) 设置文本框的单行模式
android:maxLenght setFilters(InputFilter) 设置最大显示长度

3.文本框应用案例

本案例的首要功能是接管用户输入的电子邮箱地址和德律风号码,开辟步调如下。

1)新建一个项目Android_Sample_4_1。

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./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:AllOnFocus="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:AllOnFocus="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>


5)开辟完法度的布局文件后,最掉队行Activity项目组的开辟。打开项目src/wyf/jc目次下的Android_Sample_4_1Activity.java,在此中输入如下代码。



  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)运行本法度,运行结果如下图所示。





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



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多