我想在线性布局上设置绿色阴影,它的内容如下图所示
这是UI的代码片段
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="168dp"
android:layout_height="120dp"
android:orientation="vertical"
android:background="@drawable/grid_item_init_border"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:padding="8dp"
android:orientation="horizontal"
android:background="@color/white"
android:layout_margin="1dp">
<ImageView
android:id="@+id/image"
android:layout_width="80dp"
android:layout_height="match_parent"
android:src="@drawable/no_image" />
<TextView
android:id="@+id/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/image"
android:maxLines="2"
android:ellipsize="end"
android:layout_marginLeft="4dp"
android:text="VVVVVVVVVVz"/>
<TextView android:id="@+id/category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/app_name"
android:layout_below="@+id/app_name"
android:lines="1"
android:ellipsize="marquee"
android:text="xxxxxxxxxxz"/>
</RelativeLayout>
<CheckBox
android:id="@+id/share"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_margin="4dp"
android:paddingLeft="24dp"
android:text="CheckBox"
android:button="@drawable/checkbox_white_gray"
android:background="@color/init_grid_item_checkbox_gray"/>
我应该在代码中添加什么来在布局上绘制阴影?
答案 0 :(得分:1)
您应该在RelativeLayout
中添加另一个视图,并按如下方式排列边距/填充:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="168dp"
android:layout_height="120dp"
android:orientation="vertical"
android:background="@drawable/grid_item_init_border">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:orientation="horizontal"
android:background="@color/white"
android:layout_margin="1dp">
<ImageView
android:id="@+id/image"
android:layout_width="80dp"
android:layout_height="match_parent"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginDown="8dp"
android:src="@drawable/no_image" />
<TextView
android:id="@+id/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/image"
android:maxLines="2"
android:ellipsize="end"
android:layout_marginLeft="4dp"
android:layout_marginTop="8dp"
android:layout_marginRight="8dp"
android:text="VVVVVVVVVVz"/>
<TextView
android:id="@+id/category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:layout_alignLeft="@+id/app_name"
android:layout_below="@+id/app_name"
android:lines="1"
android:ellipsize="marquee"
android:text="xxxxxxxxxxz"/>
<View android:id="@+id/overlay"
layout_width="match_parent"
layout_height="match_patent"
background="@drawable/green_overlay"/>
</RelativeLayout>
<CheckBox
android:id="@+id/share"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_margin="4dp"
android:paddingLeft="24dp"
android:text="CheckBox"
android:button="@drawable/checkbox_white_gray"
android:background="@color/init_grid_item_checkbox_gray"/>
</LinearLayout>
其中@drawable/green_overlay
是您的叠加层(颜色,形状,图像甚至是9个补丁)。如果您需要按下/未按下状态,您甚至可以使用selector
(看看here)