当你从它那里得到它时,我想要一个阴影:
android:background="@android:drawable/dialog_holo_light_frame"
有人知道这个源代码吗? 或者我如何实现这一点我只在布局底部有阴影而不是它周围?
答案 0 :(得分:1)
您可以使用9 Patch shadow generator作为下面链接的布局背景。
答案 1 :(得分:0)
shadow.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Drop Shadow Stack -->
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#00AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#10AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#20AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#30AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#50AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<!-- Background -->
<item>
<shape>
<solid android:color="@android:color/white" />
<corners android:radius="3dp" />
</shape>
</item>
使用此作为整个布局的背景,如下所示:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/shadow"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<---Describe your whole layout here>
</LinearLayout>
答案 2 :(得分:0)
有两种方式:
1)将 shadow.xml 或 shadow.png 添加到 drawable 并在布局中使用
<强> shadow.xml:强>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:bottom="8dp">
<shape android:shape="rectangle" >
<size android:height="1dp" />
<solid android:color="#43000000" />
</shape>
</item>
<item android:top="1dp">
<shape
android:dither="true"
android:shape="rectangle" >
<gradient
android:angle="270"
android:endColor="#00000000"
android:startColor="#10000000" />
<size android:height="8dp" />
</shape>
</item>
</layer-list>
your_layout.xml的示例:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/shadow"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"/>
</LinearLayout>
2)另一种方法是解决方法
大部分阴影实际上在视图下方,细微的阴影也在上方。解决方法可能是使用非常高的高程值,如40dp:由于您的布局,底部将被隐藏,而顶部将被展开并看起来像一个普通的阴影。
在任何一种情况下,你都无法控制dp中的高程值,因为你无法确定你的阴影是否等同于android:elevation = 4dp投射的阴影。