首页  ·  知识 ·  移动开发
Androidwidget组件(一):Button、EditText、TextView
wservices    Android  编辑:dezai   图片来源:网络
Android中的Button组件,最常使用的Widget组件之一。

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":隐藏组件。

常量值:invisiblevisiblegone.只能指定其一。

 

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:与右侧空白大小。当然,还是paddingLeftpaddingToppaddingButtonpaddingAll

 

除了上面这些,如果要指定EditTextPassword输入框,可用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(); //获取显示的文字。

 

EditTextTextView之扩展 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
本文作者:wservices 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读