CardView位于FrameLayout之上,但首先声明

我有简单的FrameLayout,支持CardView作为第一项,TextView作为第二项,因此TextView必须位于充气视图的顶部。 这适用于前Lolipop,但21+卡在布局中占据最顶层,为什么会这样,以及如何解决这个问题? 与RelativeLayout相同。 布局:

     

只需在卡片视图中添加文本视图,我知道在框架布局中未定义z顺序,但最后布局视图应该最后绘制。

这可能与棒棒糖使用高程中的卡片视图有关,而它们在棒棒糖前面的边框绘图代码上回落。

如果有人到达这里并且设置高程的解决方案对他们不起作用(就像在我的情况下,我需要在CardView上方绘制图像并且在其上有阴影是不可接受的),您可以通过以下方式解决问题:将CardView包装在另一个FrameLayout 。 在提供的示例中,它看起来像这样:

 < ?xml version="1.0" encoding="utf-8"?>        

这对我有用!

 < ?xml version="1.0" encoding="utf-8"?>         

我可能会迟到加入讨论,但是如果你能放弃CardView的高程,你可以将XML布局中0dpcardElevation属性设置为0dp

像这样:

 app:cardElevation="0dp"