Android按钮
Android按钮是Android GUI组件,用户很容易点击(单击)。当用户在Android应用程序中点击Android按钮时,该应用程序可以响应该点击。本Android按钮教程将说明如何在Android应用中使用按钮。
Android按钮可分为两类。带有文本的按钮和带有图像的按钮。带有图像的按钮可以同时包含图像和文本。带有图像的Android按钮也称为图像按钮。本教程将介绍这两种按钮类型。
按钮
带有文字的标准Android按钮由Android类android.widget.Button表示。我们可以通过布局XML文件或者通过编程插入将"按钮"实例插入Android应用GUI。本教程将介绍这两种方法。
在布局文件中添加按钮
通过布局XML文件向Android应用添加"按钮"是通过在要放置"按钮"的位置的布局文件中插入"按钮"元素来完成的。这是布局文件中的Android按钮的示例:
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
/>
这个例子通过XML声明了一个Button实例。 "按钮"的ID为" the_button"。该ID将由Android Studio自动生成,并且可以通过代码中的R.id对象获得。按钮的大小设置为环绕其内容,这意味着按钮将具有在按钮上显示的文本的近似宽度和高度。按钮上显示的文本是在sr / main / res / values / strings.xml文件中使用键button_text定义的。
以编程方式添加按钮
我们也可以通过编程方式在Android应用中添加一个"按钮"。我们可以在将托管按钮的Activity子类的onCreate()方法内进行此操作。这是一个示例,显示了如何在活动的onCreate()方法中将"按钮"插入活动的布局中:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = new Button(this);
button.setText("Touch That!");
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.rootlayout);
relativeLayout.addView(button);
}
}
首先创建一个Button实例,将活动实例作为Context传递给Button构造函数。其次,设置要在文本上显示的文本。第三,获得对活动的根布局(" ViewGroup")的引用,并使用" addView()"将" Button"实例添加到其中。
图像按钮
Android还有一个可以使用的" ImageButton"。顾名思义," ImageButton"组件是一个带有图像的按钮。 ImageButton由Android类android.widget.ImageButton表示。
在布局文件中添加ImageButton
通过布局XML文件向Android应用添加" ImageButton"是通过在布局文件中我们要放置" ImageButton"的位置插入" ImageButton"元素来完成的。这是一个AndroidImageButtonXML示例:
<ImageButton
android:id="@+id/theimagebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/the_image_button_icon"
/>
请注意android:src属性如何引用Android项目中的可绘制对象。这是将在" ImageButton"上显示的图像。
带有图像和文本的按钮
如果我们希望Android按钮同时包含图片和文本标签,则可以使用Button类。这是当我们在布局文件中使用Button元素时的外观示例:
<Button
android:id="@+id/imageandtextbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
android:drawableLeft="@drawable/ic_launcher"
/>
按钮单击事件
应用可以通过两种方式监听Android按钮上的点击(轻击)。
为按钮添加点击侦听器的第一种方法是在"活动"子类中声明一个方法,该子类托管着单击按钮时要执行的按钮。我们声明"活动"子类中的哪个方法要在"按钮" XML元素内执行。这是一个例子:
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
<b>android:onClick="onButtonClick"</b>
/>
注意android:onClickXML属性。 " android:onClick"属性的值是托管" Button"的" Activity"子类中方法的名称,该按钮在单击按钮时将被调用。 onButtonClick()方法的声明如下所示:
public void onButtonClick(View view){
//do something when button is clicked.
}
请记住,必须在"活动"子类中声明此方法,该子类在其用户界面中托管(显示)按钮。
将点击侦听器添加到Android按钮的第二种方法是获取对Button实例的引用,然后以编程方式将点击侦听器添加到按钮。这是如何以编程方式将点击侦听器添加到Android按钮的示例:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = new Button(this);
button.setText("Touch That!");
button.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.this.onButtonClick(v);
}
});
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.rootlayout);
relativeLayout.addView(button);
}
public void onButtonClick(View view){
//do something when button is clicked.
}
}

