如何解决Android L ripple触摸对形状的影响?
试试那个:
ripple.xml
<?xml version="1.0" encoding="utf-8"?>
<ripple android:color="@color/COLOR_WHILE_PRESSING" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/background"></item>
</ripple>
background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/BACKGROUND_COLOR" />
<corners android:radius="6dp" />
</shape>
我在那里解释了如何实现新的 FAB 按钮,我也为此使用了大纲。
解决方法
有一个带有高程的圆角矩形,它会投射阴影,就像这里的示例一样:http: //developer.android.com/preview/material/views-shadows.html#shadows
这是我的形状:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="6dp" />
</shape>
我想获得其他所有东西都有的漂亮的“涟漪”触摸效果,但是当它被设置为视图的背景时,不会给出触摸反馈。形状保持白色。
所以,我把它变成了layer-list
:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="6dp" />
</shape>
</item>
<item android:drawable="?android:selectableItemBackground" />
</layer-list>
现在,当我点击它时,我得到了很好的触摸反馈,但是有一个问题。
圆角矩形的轮廓丢失了。它仍然可以很好地绘制白色圆角矩形,但阴影被投射为非圆角矩形(方形边缘),并且波纹一直越过角落:
它在这里看起来并不太可怕,但在设备上它非常丑陋和令人反感。
有没有办法来解决这个问题?第Outline
一个链接的部分似乎是我想要的,但我不知道如何实现它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。