自定义Selector篇,改变样式,绘制图案和背景

有些时候需要对一些控件的样式进行自定义,但是控件自带的属性修改的效果并不理想,这就需要我们自定义一些样式去修改控件样式,下面介绍自定义样式的方法。

以Button为例,我们可以修改Button的形状,颜色,圆角,甚至是渐变色,下面一一介绍。

  • 首先,在drawable资源文件夹里新建一个style.xml的资源文件,res/drawable右键/new/Drawable resource file/命名为style/ok,即可。

  • 下面我们看一下selector下面的item的各个属性:

    属性 解释
    android:color 颜色值
    android:state_pressed 是否可以触摸
    android:state_focused 是否能获取焦点
    android:state_hovered 鼠标(指针)移动到该位置时是否触发事件
    android:state_checkable “true”表示可勾选状态时使用;“false”表示非可 勾选状态使用、(只对能切换可勾选—非可勾选的构件有用
    android:state_checked “true”表示已经被勾选状态时;“false”表示没有被勾选状态使用、(只对能切换可勾选—非可勾选的构件有用
    android:state_first
    android:state_middle
    android:state_last
    android:state_activated -true 被激活时显示图片 ;false未激活时图片
    android:state_active 被激活的条件,true为可以被激活,false是不可以被激活
    android:state_selected 是否被选择状态
    android:drawable 如果引用的话,selector必须是一个@drawable引用,代码中也必须是R.drawable
    android:state_window_focused 是否窗口聚焦
    android:state_accelerated 硬件加速为true的图片
    android:state_enabled 是否可用,不可用状态则不可对其操作
    android:state_single true 只有一个元素显示图片
    android:state_drag_can_accept true 能够drop 或者 drag 时图片

下面代码可以用于Button的点击效果样式的改变

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 当前窗口失去焦点时 -->
    <item android:color="@android:color/black" android:state_window_focused="false" />
    <!-- 不可用时 -->
    <item android:color="@android:color/background_light" android:state_enabled="false" />
    
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值