gpt4 book ai didi

Android L 波纹触摸对形状的影响?

转载 作者:IT王子 更新时间:2023-10-28 23:56:25 25 4
gpt4 key购买 nike

我有一个带有高程的圆角矩形,它会转换阴影,就像这里的示例一样: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>

我想要获得其他所有东西都具有的漂亮的“涟漪”触摸效果,但是当它被设置为 View 的背景时,不会给出触摸反馈。形状保持白色。

所以,我把它做成了一个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>

现在,当我点击它时,我得到了很好的触摸反馈,但是有一个问题。

圆角矩形的轮廓丢失了。它仍然可以很好地绘制白色圆角矩形,但阴影被转换为非圆角矩形(方形边缘),并且波纹一直越过角落:

Bad corners

在这里看起来并不太可怕,但在设备上它非常丑陋且令人反感。

有没有办法解决这个问题?第一个链接的 Outline 部分似乎是我想要的,但我不知道如何实现它。

最佳答案

试试那个:

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>

背景.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>

或许这篇文章会对您有所帮助:Android L FAB Button shadow

我在那里解释了如何实现新的 FAB 按钮,我也使用了大纲。

关于Android L 波纹触摸对形状的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com