android 5.0 点击效果,Android 5.0 Button 按钮水纹效果的适配问题

从5.0开始,一些控件的点击时候默认是有水纹效果的如下图

c9c0acf3e116

这里写图片描述

以Button举例可以按照如下使用:

注意是android:theme

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button"

android:theme="@style/MyButton"/>

自定义样式:

@color/indigo

@color/pink

但是这样在5.0以下的系统,这样就没有效果,按钮会变成默认的灰色状态,点击按钮也不会有颜色的状态区别

为了兼容5.0以下的设备,我们可以利用seletor(勘误:button用theme在5.0以下也是有按压变色的,虽然没有水波纹,下面的方法仍然适用其他控件的适配)

android:id="@+id/confirm"

style="@style/GreenButton"

android:text="@string/confirm" />

match_parent

@dimen/button_height_tall

@drawable/selector_green_button

@color/white

@dimen/font_large

我们可以在drawable和drawable-v21下新建同一份文件selector_green_button.xml

android:color="@color/deep_green">//这里是扩散水波纹的色值

有个问题需要注意,如果的想要你的波纹没有按压的时候为透明状态,下面的写法是无效的.会导致按压没有效果

android:color="@color/deep_green">//这里是扩散水波纹的色值

//这里你用透明色和透明的图片都是没有效果的

正取的做法如下:

android:color="@color/deep_green">//这里是扩散水波纹的色值

里面的色值可以任选一个

android:id="@android:id/mask"会让系统并不会真的绘制,并告知波纹的绘制边界

如果写成下面,波纹的绘制范围会超出控件的边界

android:color="@color/deep_green">//这里是扩散水波纹的色值

如上,这样设置后5.0以下的设备具有按钮按下变色的效果,5.0以上就具有水波纹效果.其他控件同理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值