Button按钮

Button是Text View的子类,Text Viewset Text设置 Button支持set Text
Image Button 没有android.text属性,不能通过setText()来设置内容,但是Button可以
可以为image Button设置图片
可以用android:background来设置图片,那么图片会被拉伸
可以用android:src来设置图片,那么默认图片大小居中
同时设置这两个属性 src属性在上面,background属性在下面
问题:
Android中的image View 和image Button和 Button之间的区别???
1.     继承不同,看API
2.     Image Button不支持set Text(),而Button支持
3.     Image Button 支持set image URL,而Button不支持
4.     Image Button和Button都有Button的状态而image View 没有
5.     显示也有差异
6.     Image Button有默认的背景,显示不了圆角效果
Selector主要是用来改变List View 和Button 控件背景
1.        res目录下新建draw able文件夹
2.        Draw able文件夹中新建**.xml(类型selector)
 
 
 
Button点击事件:大概可以分为以下几种:
1.     匿名内部类
2.     定义内部类,实现OnClickListener接口
3.     定义的构造方法
4.     用Activity实现OnClickListener接口
5.     指定Button的onClick的属性
 
首先我们简单地定义一个带Button的xml布局文件
activity_main.xml:
<Button
        android:id="@+id/bt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="点击事件"/>
 
然后再写Java代码
MainActivity.java:
 
1.匿名内部类
@Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        bt = (Button) findViewById(R.id.bt1);
        //1.匿名内部类
        bt.setOnClickListener(new OnClickListener() {
           
            @Override
            publicvoid onClick(View v) {
                // TODO Auto-generated method stub
                Log.i("匿名内部类", "点击事件");
            }
        });
}
 
2.定义内部类,实现OnClickListener接口
publicclass MainActivity extends Activity{
 
    private Button bt;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        bt = (Button) findViewById(R.id.bt);
 
        bt.setOnClickListener(new MyListener());
    }
 
        //定义内部类,实现OnClickListene接口
    class MyListener implements OnClickListener{
 
        @Override
        publicvoid onClick(View v) {
            // TODO Auto-generated method stub
            Log.i("定义内部类,实现OnClickListene接口", "点击事件");
        }
    }
}
 
3.定义的构造方法
publicclass MainActivity extends Activity{
 
    private Button bt;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        bt = (Button) findViewById(R.id.bt);
 
        myListener();
    }
 
        //定义构造方法
        privatevoid myListener() {
        // TODO Auto-generated method stub
        bt.setOnClickListener(new OnClickListener() {
           
            @Override
            publicvoid onClick(View v) {
                // TODO Auto-generated method stub
                Log.i("定义构造方法", "点击事件");
            }
        });
    }
}
4.用Activity实现OnClickListener接口
publicclass MainActivity extends Activity implements OnClickListener {
 
    private Button bt;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        bt = (Button) findViewById(R.id.bt);
        bt.setOnClickListener(this);
    }
//用Activity实现OnClickListener接口    @Override
    publicvoid onClick(View v) {
        // TODO Auto-generated method stub
        Log.i("用Activity实现OnClickListener接口", "点击事件");
        }
   
}
 
5.指定Button的onClick的属性:
  先在layout文件中指定onClick属性,然后到Activity中实现这个onButtonClick方法
布局文件:
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件"/>
  Java代码:
publicclass MainActivity extends Activity {
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
    }
 
    //5指定onClick属性方式
    publicvoid click(View v) {
        // TODO Auto-generated method stub
        Log.i("指定onClick属性方式","点击事件");
    }
}
 
 
  另外,多个按钮点击事件的处理,以指定onClick属性方式为例,获取其资源id,通过资源id,可以判断用户点击了哪个按钮了。
布局文件:
 <Button
        android:id="@+id/bt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件1"/>
   
       <Button
        android:id="@+id/bt2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件2"/>
    
       <Button
        android:id="@+id/bt3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件3"/>/>
   
    <Button
        android:id="@+id/bt4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件4"/>
 
Java代码:

publicclass MainActivity extends Activity {
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值