Android⽤户界⾯设计:基本button
Android SDK还包括了⼀些其他更不为⼈知的从上⾯两个基本button类型继承来的类
ToggleButton,和ZoomButton。要了解这些控件的很多其他信息,查看Android⽂档。你也能够通过继承合适的类并实现控件⾏为来创建⾃⼰定义控件。
步:向布局加⼊Button控件
Button控件通常都被作为活动的布局资源⽂件⼀部分。
⽐⽅,要加⼊⼀个Button控件到与你程序相关的l布局资源中,你必须编辑布局⽂件。你可使⽤
button这种控件也能够通过程序动态地创建并在执⾏时加⼊到你的屏幕上。简单地通过它的类来创建合适的控件并将它加⼊到你的活动中的布局。
要加⼊⼀个Button控件到布局资源⽂件,打开/res/l布局⽂件,它是你的
点击你想要为其加⼊Button控件的LinearLayout (或者⽗级布局控件,⽐⽅RelativeLayout
要配置Button控件的外观,选中该控件并通过在属性标签中改变属性值来调节控件的属性。
以下是⼀些你会想知道的特别的属性:
使⽤id属性给Button或ImageButton⼀个唯⼀的名字;
使⽤⽂本属性设置Button控件上要显⽰的⽂字;
使⽤src属性设置ImageButton控件上要显⽰的图⽚。
将控件的布局⾼度和布局宽度属性设置为wrap_content.
设置不论什么其他属性来调整控件的外观。⽐⽅,使⽤⽂本颜⾊,⽂本⼤⼩和⽂本样式属性来调整Button的字体。
以下是⽤来⽣成前段中展⽰的屏幕的布局资源⽂件的内容。它包含三个控件。
RelativeLayout组织屏幕上的控件,也就是两个⼦控件,⼀个Button和⼀个ImageButton,例如以下:
<pre name="code"><?xml version="1.0" encoding="utf-8"?
>
<RelativeLayout
xmlns:android="schemas.android/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:minHeight="92dp"
android:textSize="22dp"
android:onClick="onMyButtonClick"></Button>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/skater"
android:id="@+id/ImageButton01"
android:layout_toRightOf="@+id/Button01"></ImageButton>
</RelativeLayout>
</pre>
第4步:处理点击
如今,假设你执⾏你的程序。button控件显⽰出来了。可是假设你点击它们不会有不论什么反应。
如今应该来处理控件上的点击事件了。有好⼏种⽅法能够做到。
让我们从简单的⽅法開始吧。Button和ImageButton控件有⼀个叫onClick的属性(在属性⾯板⾥叫“On Click”)。你能够通过这个属性设置要处理点击事件的⽅法名,然后在你的活动中实现这种⽅法。⽐⽅,你能够将你的Button控件属性设置为onMyButtonClick。
在XML中,这个属性将例如以下所看到的:
android:onClick="onMyButtonClick"
然后,在你的活动类。你须要实现这种⽅法。它应该是⼀个带有单个參数(⼀个View对象)的公有的void⽅法。
⽐如,以下的button点击实现了当Button控件被点击时在屏幕⽣成⼀个消息框:
public void onMyButtonClick(View view)
{
Toast.makeText(this, "Button clicked!", Toast.LENGTH_SHORT).show();
}android学习教程
当你点击这个Button控件,onMyButtonClick()⽅法被调⽤,在屏幕上显⽰⼀个消息。你的Buttonbutton能做什么就取决于你⾃⼰了。
下图显⽰了当点击Buttonbutton时消息是怎样展⽰的:
第5步:处理点击——实现OnClickListener
实现点击事件处理的还有⼀种⽅法是使⽤setOnClickListener()⽅法向你的button控件注冊⼀个新的View.OnClickListener。
这样的⽅式取代了将你布局资源中的button控件的On Click属性设置为⼀个你必须实现的⽅法的⽅式,你能够在你的活动中动态地做这些事情。尽管这可能看起来有⾮常多额外的代码要写,但⾄少理解它是⾮常重要的,由于在⼀些控件上点击不是须要处理的唯⼀事件。我们将要向你展⽰的程序应⽤了其他的事件。⽐⽅长按。
要使⽤这种⽅法。你必须更新你的活动类以注冊控件点击事件。通常情况下通过你的活动的onCreate()⽅法来实现。使⽤findViewById()⽅法到控件然后使⽤它的setOnClickListener()⽅法来定义当它被点击时的⾏为。你将须要⾃⼰去实现界⾯的onClick()⽅法。⽐⽅。以下的代码(位于活动的onCreate()⽅法中)为我们的ImageButton控件注冊了⼀个点击处理器。
ImageButton myImageButton = (ImageButton) findViewById(R.id.ImageButton01);
myImageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(BasicButtonActivity.this, "ImageButton clicked!", Toast.LENGTH_SHORT).show();
}
});
相同地。你能够使⽤这个技术来实现长按点击处理,通过使⽤控件的setOnLongClickListener()⽅法。
总结
button控件在Android程序中常常会⽤到。在这个⾼速教程中你学习了怎样创建两种不同的Androidbutton控件:Button和ImageButton。
你也学习了实现这些类型button控件的button点击事件处理的⼏种⽅法。(注:原⽂作者:RockUX–WEB 点此查看。
mobile.51cto/design-254382.htm

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。