通过Selector来设置按钮enable/unable状态的样式

我们可以用selector来配置button可用或者不可用时的背景,也可以用它来配置button不同状态下的文字颜色。下面左图是可用状态,右图是不可用状态。

  

一、配置按钮不同状态的背景

首先我们准备下按钮的背景,这里是shape来做的。分为可用和不可用的背景,有蓝色(可用状态)和红色(不可用状态)两个背景。

btn_enabled_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:radius="5dp" />

    <solid android:color="#02a7e3" />

</shape>

btn_unabled_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:radius="5dp" />

    <solid android:color="#ff0000" />

</shape>

使用:

我们使用的时候只需要给button指定背景就好了。

 android:background="@drawable/btn_bg_selector"

二、配置按钮不同状态下的文字颜色

我们首先要另外准备一个文件,这个文件中写上不同状态下的颜色信息。我把这个文件放在res/color/下

btn_text_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_enabled="true" android:color="#ffff0000"/>
    <item android:state_enabled="false" android:color="#ff0000ff"/>

    <!-- 默认样式 -->
    <item android:color="#ff00ff00"/>

</selector>

使用:

使用时给button的textColor配置上这个文件就行了。

 android:textColor="@color/btn_text_selector"

源码下载:

参考自:http://blog.csdn.net/breeze666/article/details/7747649

时间: 2024-12-15 10:40:52

通过Selector来设置按钮enable/unable状态的样式的相关文章

1-10(退出键盘,设置按钮的背景图,transform属性,imageView序列帧动画,九宫格算法...)

(1-10目录) 1.取得2个文本输入框的值 2.退出键盘 3.设置按钮的背景图 4.执行动画 5.手动创建按钮以及设置按钮的一些基本属性 6 transform属性 7.imageView序列帧动画 8.九宫格算法 9.通过xib创建局部控件,利用模型封装加载数据 10设置状态栏的样式为白色 { 扯淡环节: 工作这么久了, 发现一些细节有时候总是忽略, 现在就把我刚接触时的知识点给整理出来!, 没事自己看看, 也分享给大家! 分享,创造快乐!哈哈 xq每天都生活在快乐当中, 愿你们也是! }

设置按钮的背景图片

设置按钮在不同状态下的背景图片(为了保证高亮状态下的图片正常显示,必须设置按钮的type为custom)

01- - -1.获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar的关系 4.[UIScreen mainScreen].applicationFrame的取值 5.按钮的状态 6.错误调试技巧 7.按钮的各种状态设置

1.获得项目中info.plist文件的内容 1> [NSBundle mainBundle].infoDictionary 2> 版本号在info.plist中的key:kCFBundleVersionKey 2.沙盒的数据存储及读取 1> 数据存储: [[NSUserDefaults standardUserDefaults] setObject:version forKey:versionKey]; 存储数据时记得同步一下 [[NSUserDefaults standardUser

点击按钮之后将其设置为不可用状态

点击按钮之后将其设置为不可用状态:不少效果中,希望按钮只能够被点击一次,再点击之后就会被设置为不可用,代码非常的简单.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>点击按钮之后

iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态

iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态 在示例2-2中,设置按钮的标题和颜色时,需要对按钮的状态进行设置,表示按钮在某一状态下的标题和标题颜色是什么样子.例如,UIControlState.normal就表示按钮的一种状态.对于像按钮的这类视图,即可以接受用户输入的视图也被称为控件.这些控件都有自己的状态.表2-2就为开发者详细介绍了控件的状态. 表2-2  控件的状态   原文地址:https://www.cnblogs.com/daxueba-ITdaren/

设置bootstrap按钮组选中状态

使用bootstrap(V3.3.7)按钮组(btn-group)时,很多时候我们需要按钮组在显示的时候,预先设置一个按钮处于选中状态. <div class="text-right" style="margin-bottom:0.5em;"> 排序:<span class="btn-group btn-group-sm" role="group" id="orderBtnGroup"&g

保持按钮的高亮状态

//设置UIButton在点按住时附带高亮效果 _addMusicBtn.showsTouchWhenHighlighted = YES;[_addMusicBtn addTarget:self action:@selector(addMusicAction:) forControlEvents:UIControlEventTouchUpInside]; //设置保持按钮的高亮状态(放在一个循环里面,强制按钮高亮) - (IBAction)onTouchup:(UIButton *)sender

iOS TextView内容为空时设置按钮为不可用

有时做项目会遇到这样一种需求: 当一个TextView内容为空时设置按钮为不可用, 具体实现如下: 1. 按钮初始设置为不可用: self.customButton.enabled = NO; 2. 通过代理或通知监控TextView文本内容变化状态, 通过hasText方法判断TextView内是否有文本内容, 以设置按钮状态: 代理: 遵守协议: @interface CustomViewController () <UITextViewDelegate> 设置代理: self.textV

android设置按钮按下的不同效果图

1 <!-- 按钮设置按下去的不同效果的方式,设置android:background属性, 2 下面的 button_select实际上是button_select.xml --> 3 4 <Button 5 android:id="@+id/btn_contentprovider" 6 android:layout_width="wrap_content" 7 android:layout_height="wrap_content&q