Nil*_*zor 8 android material-design
所以我试图用cusotm颜色创建一个涟漪效果,并且有一些成功,除了涟漪效果去除了原始背景,因此创造了一个半透明的涟漪效果,这不是我想要的.
布局:
<Button
android:layout_width="80dp"
android:layout_height="80dp"
android:text="Clicky"
android:colorControlHighlight="@android:color/holo_blue_light"
android:background="@drawable/selector">
</Button>
Run Code Online (Sandbox Code Playgroud)
绘制/ selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/ripple"/>
<item android:drawable="@color/normal"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
绘制/ ripple.xml:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#7f7">
</ripple>
Run Code Online (Sandbox Code Playgroud)
color.xml
<resources>
<color name="normal">#070</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
在涟漪效应重叠时,我该怎么做才能保持绿色(#070)背景?我相信这是意图,对吗?
编辑
我现在已经shape按照AcademicDuck的建议介绍了一个:
绘制/ red_shape.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/normal" />
</shape>
Run Code Online (Sandbox Code Playgroud)
此形状由现在修改的波纹引用:
绘制/ ripple.xml:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:drawaleb="@drawable/red_shape">
</ripple>
Run Code Online (Sandbox Code Playgroud)
现在有什么变化,当我按下背景是纯红色而不是透明.尽管如此,仍然没有波纹.
小智 0
如果没有在波纹标签上设置子项,Android 波纹效果将绘制在当前背景的顶部。在ripple标签内,指定一个<item android:drawable = "@drawble/yourBackground">. 并使“yourBackground”成为一个矩形可绘制资源,其背景颜色与按钮相同 - #070。
| 归档时间: |
|
| 查看次数: |
2074 次 |
| 最近记录: |