您的位置:首页 > 移动开发 > Android开发

Android widget组件(一):Button、 EditText、TextView

2010-06-09 22:03 495 查看

Button

Android中的Button组件,最常使用的Widget组件之一。

Layout声明:

<Button android:text="@string/account_create_btnCancel_title"

android:id="@+id/btnCAccountCancel" android:layout_width="100px"

android:layout_height="wrap_content"

android:layout_alignParentRight="true" android:visibility="gone">

</Button>

注:

android:text="@string/account_create_btnCancel_title"

从string.xml中指定显示的文字。也可以直接显示文字。如:

android:text="@This is Button."

android:id="@+id/btnCAccountCancel":组件ID,以便于在Activity中查询引用。如:

(Button)findViewById(R.id.btnCAccountCancel);

Android:layout_width=”100px”与  android:layout_height="wrap_content":

组件的宽度与高度。这是指定的固定大小,也可以指定以下两个值中的之一:

wrap_content:根据内容自动适应大小。此常量也适用于其他widget组件。

fill_parent: 根据父容器大小进行填充。此常量也适用于其他widget组件。

android:layout_alignParentRight="true":在父容器中靠右放置。

android:visibility="gone":隐藏组件。

常量值:invisible、visible、gone.只能指定其一。

在java文件中使用并为Button指定处理的事件:

Button btnSate =(Button)findViewById(R.Id.btnOK); //获取Button组件。

btnSate.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//TODO:事件需要片的逻辑代码。

}

});

当然,也可以指定多个OnClickListener或其他类型的事件,那就看看是否需要了。

以上几个代码也可以写成以下格式:

findViewById(R.Id.btnOK).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//TODO:事件需要片的逻辑代码。

}

});

EditText

Android中的EditText数据编辑框,相当于C#中的TextBox。刚开始接触时容易和TextView组件混淆,分不清那个是显示,那个是编辑,至少我就犯了这个错误。

Layout声明:

<EditText android:id="@+id/txtCAccountName"

android:layout_width="200px" android:paddingRight="@dimen/padding"

android:textSize="18sp"

android:layout_x="14px"

android:layout_y="41px"

android:layout_height="wrap_content">

</EditText>

注:

android:id,不用说了,组件的唯一标识。

android:layout_width\ android:layout_height:宽度与高度,所有的android组件都是这么指定。参见Button说明 。

android:layout_y\ android:layout_y:待定

android:paddingRight:与右侧空白大小。当然,还是paddingLeft、paddingTop、paddingButton和paddingAll。

除了上面这些,如果要指定EditText为Password输入框,可用android:password=”true”进行声明。

另外还有在用户输入体验上的标签,不会影响程序的运行,但会给用户输入带来很好的体验,如只需要输入电话号码或都数字等。

android:phoneNumber="true":系统只会打开电话输键盘(电话号码不可用键不会显示.

android:numeric="integer|signed|decimal":系统只会打开数据键盘(三值可选一)。

TextView

TextView,用于显示标签文字。

<TextView android:id="@+id/TextView01"

android:text="@string/account_create_name_title"

android:layout_width="wrap_content" android:layout_height="wrap_content">

</TextView>

android:text="@string/account_create_name_title":要显示的标签文字。

TextView txtView=(TextView)findViewById(R.id.TextView01);

txtView.setText("设置文字");

txtView.getText(); //获取显示的文字。

EditText、TextView之扩展 Linkify.

Linkify可以让系统动态获取并判断用户输入的数据规则类型,如电话号码、Email地址、 url地址。代码示例:

android.text.util.Linkify.addLinks(txtNumber, Linkify.PHONE_NUMBERS); //txtNumber:EditText类型

当用户输入的数据类型符合电话号码规则时,系统为自动为数据的内容加上链接,当点击链接时为自动调用系统的拨号程序进行拨号。

加外还有:

l Linkify.EMAIL_ADDRESSES //判断是否email点击链接打开email发送程序。

l Linkify.MAP_ADDRESSES //判断是否url点击打开系统浏览器并打开网页。

当然,也可以同时使用。如

android.text.util.Linkify.addLinks(txtNumber, Linkify.PHONE_NUMBERS|Linkify.EMAIL_ADDRESSES|Linkify.MAP_ADDRESSES);

系统的SMS程序就使用了Linkify。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: