Android单击水波纹:
直接使用就可以:
android:foreground="?attr/selectableItemBackground"
如果是圆角的Button,推荐用这个属性selectableItemBackgroundBorderless,这个为波纹无边界(有边界Button波纹结束边角会有黑边)
drawable资源被占用,可以用foreground来设置单击特效
xml里编写单击水波纹样式是通过ripple标签来编写,具体使用方法暂时不补充,可百度
--------------------------------------------------安卓单击特效:--------------------------------------------------
首先需要在drawable资源文件夹下新建一个自定义xml的名称
然后写两个节点,分别为:
按下变换颜色示例:
<item android:drawable="@color/colorAccent" android:state_pressed="false" android:state_focused="false"/>
<item android:drawable="@android:color/holo_orange_dark" android:state_focused="false"/>
简易写法:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--按下时的文本颜色-->
<item android:state_pressed="true" android:color="#afaeb1"> </item>
<!--没按下时的文本颜色-->
<item android:state_pressed="false" android:color="#FFFFFF"> </item>
</selector>
<!--该资源文件,第一行的item节点,代表调用该资源的默认颜色或图片,第二行的item节点,代表按下以后要显示的颜色或图片-->
<!--节点里的属性state_focused 代表该控件是否获得焦点 state_pressed 是否按下或触摸
第一行的item如果state_pressed为true,则说明默认是按下的状态,颜色或者图片默认为按下去的图片
第二行的state_pressed如果为true,则该控件可以按下,如果为false,则该控件不可按下
第一行的item如果state_focused为true,已button为例,其它控件可能不同,因为button没有焦点
设置为true以后该控件颜色默认为按下的颜色,且该控件不可按下(后期测试弹出提示框看是没有特效还是不可按下)
第二行的设置为false以后可以按下,并且按下的颜色或图片会暂时改变成第二行的资源,如果设置为true以后不可以再按下
-->
按下更改图片示例:
<item android:drawable="@drawable/ic_star_black_38dp" android:state_focused="false" android:state_pressed="false"/>
<item android:drawable="@drawable/ic_star_border_black_38dp" android:state_pressed="false"/>
然后到需要有单击特效的控件里增加属性来绑定特效:
android:background="@drawable/btn_selector2"
其中@drawable/为资源文件夹btn_selector2为特效xml名称
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<!--按下状态-->
<item android:state_pressed="true">
<shape>
<solid android:color="#666666" />
<!--圆角-->
<corners android:radius="4dip" />
</shape>
</item>
<!--非按下状态-->
<item>
<shape>
<!-- 填充的颜色 -->
<solid android:color="#F9F9F9" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="4dip" />
<!--边框的宽度及颜色-->
<stroke android:width="1px" android:color="#4b9eff" />
</shape>
</item>
</selector>
android:background="@drawable/shape_button"
--------------------------------------------------安卓单击特效结尾---------------------------------------------------
Selector选择器参考文章