Mor*_*itz 26 android android-5.0-lollipop
我想在最新的Android Lollipop预览版中使用elevation属性.我将targetSdk设置为21,将主题设置为Material.接下来,我将一个背景形状添加到TextView并将高程设置为8dp,但TextView没有显示任何阴影的迹象.这是在运行棒棒糖预览的Nexus7上.还有什么我需要考虑的吗?
这是布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/rect"
android:text="hallo world"
android:padding="8dp"
android:elevation="8dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是背景可绘制的:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#7d0073ff" />
<corners android:radius="16dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
这是TextView:
Ram*_*tra 18
在再次浏览文档后,我终于找到了解决方案.
只需添加card_view:cardUseCompatPadding="true"
到您的CardView
阴影将出现在Lollipop设备上.
发生的事情是,在CardView
棒棒糖前和棒棒糖设备上采用不同大小的内容区域.因此,在棒棒糖设备中,阴影实际上被卡覆盖,因此它不可见.通过添加此属性,内容区域在所有设备上保持不变,阴影变为可见.
我的xml代码如下:
<android.support.v7.widget.CardView
android:id="@+id/media_card_view"
android:layout_width="match_parent"
android:layout_height="130dp"
card_view:cardBackgroundColor="@android:color/white"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true"
>
...
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
Inf*_*eus 17
将android:高程阴影添加到ImageView:
android:clipToPadding="false"
+
android:outlineProvider="bounds"
+
android:elevation="2dp"
Run Code Online (Sandbox Code Playgroud)
我也有这个问题,事实证明,你需要在Android清单中打开硬件加速
<application
...
android:hardwareAccelerated="true">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
37316 次 |
最近记录: |