Android -- Button(按钮)的几种监听方式
2016-11-30 20:21
369 查看
之前写了一篇关于TextView的文章,今天说的是Button(按钮),Button是程序用于和用户进行交互的重要控件,它的属性有些和TextView类似
一、Button属性如下:
android:background 设置按钮的背景,可以使用RGB的值来表示,也可以放一张图片
android:focusable 设置按钮是否有焦点,在ListView中按钮会抢占焦点,设置该属性可以去掉焦点让Item具有可点击事件
二、ImageButton控件
ImageButton是设置了图片的Button
三、Button的监听方式
1) 使用匿名内部类,一个控件对应一个监听事件,当控件较少时使用比较好
button1 = (Button) findViewById(R.id.button1);
// 方法一
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "按钮1被点击了", Toast.LENGTH_SHORT).show();
}
});
2) 使用实现接口的方式,多个控件对应一个监听事件,该方法适用于Button较多的时候使用
public class MainActivity extends Activity implements OnClickListener {
private Button button2;
private Button button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
// 方法二
button2.setOnClickListener(this);
button3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button2:
Toast.makeText(MainActivity.this, "按钮2被点击了", Toast.LENGTH_SHORT)
.show();
break;
case R.id.button3:
Toast.makeText(MainActivity.this, "按钮3被点击了", Toast.LENGTH_SHORT)
.show();
break;
}
}
3) 在XML文件中给Button加上onClick属性,然后在.java文件中写一个以onClick属性的值为方法名的一个方法,该方法一般用来做测试的时候使用较多,建议尽量不适用这种方法
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="按钮监听方式三" />
4) 多个按钮对应一个监听事件二
总结: 对于按钮的点击监听事件,常用的是第一种和第二种方式,第三种方式一般用于测试,不推荐使用
一、Button属性如下:
android:background 设置按钮的背景,可以使用RGB的值来表示,也可以放一张图片
android:focusable 设置按钮是否有焦点,在ListView中按钮会抢占焦点,设置该属性可以去掉焦点让Item具有可点击事件
二、ImageButton控件
ImageButton是设置了图片的Button
三、Button的监听方式
1) 使用匿名内部类,一个控件对应一个监听事件,当控件较少时使用比较好
button1 = (Button) findViewById(R.id.button1);
// 方法一
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "按钮1被点击了", Toast.LENGTH_SHORT).show();
}
});
2) 使用实现接口的方式,多个控件对应一个监听事件,该方法适用于Button较多的时候使用
public class MainActivity extends Activity implements OnClickListener {
private Button button2;
private Button button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
// 方法二
button2.setOnClickListener(this);
button3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button2:
Toast.makeText(MainActivity.this, "按钮2被点击了", Toast.LENGTH_SHORT)
.show();
break;
case R.id.button3:
Toast.makeText(MainActivity.this, "按钮3被点击了", Toast.LENGTH_SHORT)
.show();
break;
}
}
3) 在XML文件中给Button加上onClick属性,然后在.java文件中写一个以onClick属性的值为方法名的一个方法,该方法一般用来做测试的时候使用较多,建议尽量不适用这种方法
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="按钮监听方式三" />
public void onClick(View view) { Toast.makeText(MainActivity.this, "按钮4被点击了", Toast.LENGTH_SHORT).show(); }
4) 多个按钮对应一个监听事件二
private Button button1 4000 ; private Button button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button1.setOnClickListener(listener); button2.setOnClickListener(listener); } // 方法四 View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: Toast.makeText(MainActivity.this, "按钮1被点击了", Toast.LENGTH_SHORT) .show(); break; case R.id.button2: Toast.makeText(MainActivity.this, "按钮2被点击了", Toast.LENGTH_SHORT) .show(); break; } } };
总结: 对于按钮的点击监听事件,常用的是第一种和第二种方式,第三种方式一般用于测试,不推荐使用
相关文章推荐
- android Button 按钮监听的几种方式
- Android为Button按钮添加监听事件的几种方式
- Android实现按钮监听的几种方式
- Android 实现按钮监听的几种方式
- android Button 监听的几种方式
- android Button 监听的几种方式
- android Button 监听的几种方式
- android Button 监听的几种方式
- android Button 监听的几种方式
- android Button 监听的几种方式
- Android之Button点击事件处理的几种方式
- Android 监听按钮点击事件的三种方式(1:匿名内部类;2:外部类;3:接口方式)
- Android点击Button按钮的四种事件监听方法总结
- android4.0以上版本监听home按键 通过监听log的方式监听home按钮
- android button控件目前主要有如下几种监听方式
- Android button按钮单击事件及监听器的实现方式
- android 按钮事件及监听方式
- Android Button按钮点击事件的四种方式
- 1 android button控件目前主要有如下几种监听方式:
- android开发中Button按钮监听事件(匿名内部类监听或者不匿名)