我的目标是有一个列表项,在点击时有连锁反应,并有一个提升。我知道,为了有立面,目前需要你也有一个非透明色的背景,这是构成立面的阴影。
这是我在列表项中使用的背景:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/ripple_color">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
<stroke android:color="@color/border_color"
android:width="0.25dp"/>
</shape>
</item>
</ripple>正如您所看到的,我将实体值设置为白色,并且当绘制视图时,它具有白色背景。为了确保使用了这个值,我将其更改为红色,并将视图更改为红色背景,这样就不会忽略solid元素。
我还做了一个测试,将这个背景切换为纯白色,这样就得到了正确的仰角阴影,所以我知道问题不是出在其他东西上。
我需要添加什么才能显示我的立面?
发布于 2015-03-02 16:52:07
你的笔画颜色(@color/border_color)是半透明的吗?我刚刚发现,在我将笔触改为不透明的颜色后,我丢失的立面阴影又回来了。
具有透明度的形状不会显示立面,显然,即使你的实体不是半透明的,如果你的笔触是半透明的,它也不会起作用。
我不知道如果存在任何类型的透明元素,形状的提升是否总是失败,但情况可能是这样的。
发布于 2015-02-25 02:55:29
如果将CardView作为RecyclerView行的父视图组没有问题,则可以使用高程的card_view:cardElevation属性。
但它需要xmlns模式:
xmlns:card_view="http://schemas.android.com/apk/res-auto"您必须包含它才能使用该属性。:)
https://stackoverflow.com/questions/28703477
复制相似问题