安卓界面组件-按钮
所有的UI组件里面,功能最容易被理解的恐怕就是按钮。安卓UI组件中提供了两个按钮:普通按钮和图片按钮,区别在于图片按钮显示的是一个图片。试想:开发游戏程序界面,放置一个没有任何效果的普通按钮,将会大大降低游戏的趣味。
由于按钮比较简单,所以本篇文章结构也比较简单。文章前面介绍了安卓的按钮和图片按钮,后面是本文重点,介绍了给组件加监听器的代码基本写法。
一 普通按钮
普通按钮的属性比较简单,在eclipse里面可以直接查看到,开发过程中可以直接编辑它的属性,如下图:
按钮的功能是检测用户的点击事件,之后驱动程序产生相应的动作。安卓框架为组件的事件监听机制提供了两种方案:
方案1>给我们的组件设置id,程序将按钮实例化以后,通过setOnClickListener()方法设定
方案2>在xml文件里面用android:onClick属性指定,属性的参数对应了方法名
方案1实例操作:
Button bt = (Button)findViewById(R.id.button1); bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub } }); }
方案2实例操作:
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:onClick="myView" /> //java代码 private void myView(){ }
二 图片按钮
图片按钮的用法和普通按钮基本相同,区别在于图片按钮能够显示图片,指定图片的属性android:src。同样,图片按钮和普通按钮都是能够绑定用户事件,实现监听功能。
图片按钮操作:
<ImageButton android:id="@+id/imageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:src="@drawable/ic_launcher" />
三 安卓监听器的基本写法
1>匿名内部类
bt.setOnClickListener(new onClickListener(){
@Override
public void onClick(View arg0){
}
})
2>独立类的实现
class MyOnClickListener implements OnClickListener{
@Override
public void onClick(View v){
}
}
bt.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v){
super.onClick(v);
}
})
共同的逻辑事件可以通过父类进行统一实现。
3>实现接口的方式实现
在我们需要的类里面实现所需要的接口.
public class MainActivity extends Activity implements OnClickListener{
bt.setOnClickListener(this);
@Override
public void onClick(View v){
}
}
本人也是初学者,水平有限,难免犯错。希望批评指正!当然没看明白的也希望留言,我会修改文章,追求人人看懂!