0

我想在线性布局上制作绿色阴影,其内容如下图所示

阴影视图

这是用户界面的代码片段

    <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"/>

我应该在我的代码中添加什么以便在布局上绘制阴影?

4

1 回答 1

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(颜色、形状、图像甚至 9patch)。如果您需要按下/未按下状态,您甚至可以使用selector(看看这里

于 2013-02-27T23:25:24.447 回答