文本框(TextView)与编辑框(EditText)的功能和用法
TextView直接继承了View,它还是EditText、Button两个UI 组件类的父类。TextView的作用就是在界面上显示文本----从这个意义上来看,它有点类似于Swing编程中的JLabel,不过它比JLabel功能要强大。
从功能上来看,TextView其实就是一个文本编辑器,只是Android关闭了它的文字编辑功能,如果开发者想要定义一个可以编辑内容的文本框,则可以用它的子类:EditText,EditText允许用户编辑文本框中的内容。
不仅如此,TextView还派生除了Button类。
两者最大的区别就是TextView不允许用户编辑文本内容,而EditText则允许用户编辑文本内容。
例子1:不同字体、不同颜色的文本、URL
main.xml代码
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="我爱谷飞"
android:textSize="20pt"
android:textColor="#ff0000"
/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="我爱谷飞我爱谷飞 我爱谷飞我爱谷飞爱爱爱爱爱我爱谷飞我爱谷飞爱爱"
android:ellipsize="middle"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="测试[email protected]内容"
android:autoLink="email"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="南京航空航天大学"
android:shadowColor="#0000ff"
android:shadowDx="15.0"
android:shadowDy="20.0"
android:shadowRadius="45.0"
android:textColor="#ff0000"
android:textSize="25pt"
/>
android:id="@+id/passwd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:password="true"/>
java代码
package com.nuaa.testviewtest;
import android.app.Activity;
import android.os.Bundle;
public class TestViewTest extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
例子2:带边框、图片的TextView
main.xml代码
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="带边框的文本"
android:background="@drawable/bg_border"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="带图片的文本"
android:drawableLeft="@drawable/icon"
android:drawableRight="@drawable/leaf"
android:background="@drawable/bg_border"/>
java代码
package com.nuaa.testviewtest2;
import android.app.Activity;
import android.os.Bundle;
public class TestViewTest2 extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
例子3:用户友好的输入界面
main.xml代码
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="用户名"
android:textSize="10pt"
android:background="@drawable/bg_border"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请填写登录账号"
android:selectAllOnFocus="true"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="密码"
android:textSize="10pt"
android:background="@drawable/bg_border"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:password="true"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="电话号码"
android:textSize="10pt"
android:background="@drawable/bg_border"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请填写您的电话号码"
android:selectAllOnFocus="true"
android:phoneNumber="true"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册"/>
Java代码
package com.nuaa.inputuitest;
import android.app.Activity;
import android.os.Bundle;
public class InputUITest extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}