Android中Button状态分析

来源:互联网 发布:cnc编程上班时间是怎样 编辑:程序博客网 时间:2024/05/19 04:56

简介

    Androdi中相信大家对Button都是很了解的,因为它是我们    常用的控件,但是它的属性想必大家也理解一二,今天我们就对Button的获取是否可点击状态做下讲解。    大家都知道我们用的RadioButton都有点击切换的状态,

它是在Drawable文件价下面添加一个背景选择器,就可以实现,
同样我们的Button也可以实现这样的效果,而且当你失去焦点的时候会无法触发点击事件,下面我们看下具体实现步骤;

效果展示:

这里写图片描述

上图分析

   通过上图我们可以看到Button初始的时候是暗颜色,而且还不能实现点击,当我们在输入框输入信息的时候Button就会变成亮色,还能实现点击效果,上面吐司的时候就可看出,暗色的时候我们怎么点击就不会出现吐司“手机号不能为空”,当button变亮色的时候就可以吐司一句话;通过看图我们知道效果,然后在实现代码,相信大家会很容易理解知识点。

代码展示

1:首先我们要在工程的 res下面的Drawable文件夹下面创建一个名为praise_submit_select.XML文件,代码如下:
<?xml version="1.0" encoding="utf-8"?><selector  xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_selected="true" android:drawable="@drawable/praise_submit_press" />    <item android:state_pressed="true" android:drawable="@drawable/praise_submit_press" />    <item android:state_focused="true" android:drawable="@drawable/praise_submit_press" />    <item android:state_enabled="false" android:drawable="@drawable/praise_submit_enable" />    <item android:drawable="@drawable/praise_submit_default" /></selector>
 可以看出我们里给他定义的有暗色的有亮色的,但是只有暗色的为false其别的都是为true。
2:然后我们在想要的布局文件里面直接就可以找到控件,在给它属性代码如下:
    <Button        android:id="@+id/button"        android:layout_width="match_parent"        android:layout_height="120px"        android:background="@drawable/praise_submit_select"        android:enabled="false"        android:text="确定"     />

我们在这上面定义了是状态为false

3:代码中可以找到我们的控件在想要让他显示的地方给他焦点代码如下:
  @BindView(R.id.sign_in_btn_sign)    Button mSigBtnSign    //上面我们是用黄牛刀找的控件下面开始给它实现点击            mSigBtnSign.setEnabled(true);

总结

通过上面的步骤即可实现我们的点击失去焦点和获取焦点的一个炫酷的动作,代码逻辑清晰,实现步骤简单,希望给大家能够带来点帮助,更希望大神来指点、切磋。