Android Button 属性介绍与使用

简介: Android Button 属性介绍与使用

一、简介

  • Button 控件继承 TextView,拥有 TextView 的属性。
  • StateListDrawableDrawable 资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点 <selector >,只需要将 Buttonbackground 属性设置为该 app/res/drawable 资源即可轻松实现,按下按钮时不同的按钮颜色或背景。

二、Button 属性

  • 代码常用属性
属性 含义
setClickable(boolean clickable) 设置按钮是否允许点击。clickable=true:允许点击。clickable=false:禁止点击
setBackgroundResource(int resid) 通过资源文件设置背景色。resid:资源xml 文件 ID。按钮默认背景为:android.R.drawable.btn_default
setOnClickListener(OnClickListener l) 设置按钮点击事件
继承属性支持 TextView 属性 同样支持,就不列举了。

  • xml 常用属性
属性 含义
onClick 设置按钮点击事件
继承属性支持 TextView 属性 同样支持,就不列举了。

三、selector 使用

属性 含义
drawable 正常按钮的一个背景颜色或图片,可以配置多种状态下的显示
state_focused 是否获得焦点
state_window_focused 是否获得窗口焦点
state_enabled 控件是否可用
state_checkable 控件可否被勾选
state_checked 控件是否被勾选
state_selected 控件是否被选择,针对有滚轮的情况
state_pressed 控件是否被按下
state_active 控件是否处于活动状态
state_single 控件包含多个子控件时,确定是否只显示一个子控件
state_first 控件包含多个子控件时,确定第一个子控件是否处于显示状态
state_middle 控件包含多个子控件时,确定中间一个子控件是否处于显示状态
state_last 控件包含多个子控件时,确定最后一个子控件是否处于显示状态

四、结合以上写的案例

  • app/res/drawable 中新建一个 btn_bg.xml 文件进行配置
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/dzm1" android:state_pressed="true" />
    <item android:drawable="@color/dzm2" android:state_enabled="false" />
    <item android:drawable="@color/dzm3" />
</selector>
  • xml 布局中使用
<Button
    android:id="@+id/dzm"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:text="按钮"
    android:background="@drawable/btn_bg"/>
  • 效果

  • 代码 - 点击事件
Button btn = (Button)findViewById(R.id.dzm);
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        // 点击事件
    }
});
  • xml - 点击事件
android:onClick="doClick"

相关文章
|
8月前
|
Shell API Android开发
android queries属性
android queries属性
557 2
|
8月前
|
XML Java Android开发
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
141 1
|
5月前
|
Android开发
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
AutoX——当Android中clickable属性显示为false,实际可点击的布局如何处理
73 0
|
7月前
|
XML Java Android开发
15. 【Android教程】按钮 Button/ImageButton
15. 【Android教程】按钮 Button/ImageButton
99 2
|
8月前
|
Java Android开发 C++
Android源代码定制:MK文件执行顺序|属性覆盖
Android源代码定制:MK文件执行顺序|属性覆盖
455 2
Android源代码定制:MK文件执行顺序|属性覆盖
|
8月前
|
缓存 安全 Java
Android中的persistent属性
Android中的persistent属性
352 2
|
8月前
|
XML Android开发 数据格式
Android下自定义Button样式
Android下自定义Button样式
54 3
|
8月前
|
Android开发
通过反射方式获取Android设备系统属性
通过反射方式获取Android设备系统属性 【5月更文挑战第1天】
144 2
|
8月前
|
Android开发 C++
Android 系统属性(SystemProperties)
Android 系统属性(SystemProperties)
303 1
|
8月前
|
测试技术 Android开发 开发者
RK3568 Android系统客制化动态替换ro任意属性
RK3568 Android系统客制化动态替换ro任意属性
343 1