(转)Android5.0适配——水波纹点击效果

原地址:


Android5.0后默认的的点击效果带有高大上的水波纹,但是如果你还是按照5.0前那样设置背景的话那就不会有波纹,实现也超级简单



一,先在res文件夹下新建一个drawable-v21文件夹

二,把我们5.0之前的背景文件比如select或者shape等复制到这drawable-v21文件夹下

比如我之前是这样一个selector :

<selector xmlns:Android="http://schemas.android.com/apk/res/android">
	<item android:state_enabled="false">
		<shape>
			<corners android:radius="2dp"></corners>
			<solid android:color="@color/redcolorPressed"></solid>
		</shape>
	</item>
	<item android:state_pressed="true">
		<shape>
			<corners android:radius="2dp"></corners>
			<solid android:color="@color/redcolorPressed"></solid>
		</shape>
	</item>
	<item android:state_pressed="false">
		<shape>
			<corners android:radius="2dp"></corners>
			<solid android:color="@color/colormain"></solid>
		</shape>
	</item>
</selector>

在drawble-v21下改成这样就行了,就是在外面包一层ripple和一个item:

<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/ripple_material_dark">//水波纹的颜色
	<item>
		<selector>
			<item android:state_enabled="false">
				<shape>
					<corners android:radius="2dp"></corners>
					<solid android:color="@color/redcolorPressed"></solid>
				</shape>
			</item>
			<item android:state_pressed="true">
				<shape>
					<corners android:radius="2dp"></corners>
					<solid android:color="@color/redcolorPressed"></solid>
				</shape>
			</item>
			<item android:state_pressed="false">
				<shape>
					<corners android:radius="2dp"></corners>
					<solid android:color="@color/colormain"></solid>
				</shape>
			</item>
		</selector>
	</item>
</ripple>

当然你也可以用一些第三方的库来实现兼容版本的水波纹效果,不过我试了一些,效果始终没有原生的好,有时还会出现一些bug,所以个人觉得还是用原生的比较好,毕竟现在5.0以上越来越多,这是趋势,5.0以下慢慢淘汰,只要做好selector就行了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值