我正在实现一个在 RecyclerView
中堆叠 CardViews
的界面,我想要的结果类似于 Inbox by Gmail。正如您在此屏幕截图中所看到的,它在 5.0+ 上运行得很好! 这正是我想要的。
但是 4.4 及更早版本无法访问 android:elevation
属性,因此元素之间存在视觉分离。
现在,有一个属性 android.support.v7.cardview:cardUseCompatPadding
这将使 API 21+ 像 API 20 及更低版本一样工作,但我希望相反(让 4.4 的行为像 5.0)。我怎样才能做到这一点?
最佳答案
您可以使用FrameLayout或RelativeLayout作为项目 View 的父级以获得一致的外观。如果您的项目布局如下所示:
<CardView android:layout_width="match_parent"
android:layout_height="match_parent">
...
</CardView>
您可以将 CardView 元素替换为 FrameLayout:
<FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent">
...
</FrameLayout>
在RecyclerView.Adapter.onCreateViewHolder中,您将返回后一个项目布局。
关于android - 5.0 之前如何让 CardView 无缝堆叠(如 Gmail 的 Inbox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32320861/