在布局的右侧和底部添加阴影

时间:2015-05-06 05:35:06

标签: android android-layout drawable android-drawable

我想在布局的右侧和底部添加一个光影。我尝试使用android:background="@android:drawable/dialog_holo_light_frame",但它在布局的四个边上添加了一个厚阴影。我需要创建和设置哪个可绘制的作为背景?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@android:drawable/dialog_holo_light_frame">
       <ImageView
                android:id="@+id/g"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:scaleType="centerCrop"
                android:layout_gravity="center"
                android:src="@drawable/logo_icon"
                android:visibility="visible"
                android:clickable="true" />
</LinearLayout>

3 个答案:

答案 0 :(得分:15)

我认为这可以解决您的问题

 <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#00CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#10CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#20CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#30CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp"/>
                <solid android:color="#50CCCCCC"/>
            </shape>
        </item>

        <!-- Background -->
        <item>
            <shape>
                <solid android:color="@color/white"/>
                <corners android:radius="3dp"/>
            </shape>
        </item>
    </layer-list>

然后将其作为背景LinearLayout android:background="@drawable/drawable_name"

应用于XML布局

答案 1 :(得分:1)

这就是我提到的并且有效。

** 1.添加一个灰色的普通LinearLayout,在其上添加您的实际布局,底部和右侧的边距等于1或2 dp

2.带有阴影的9补丁图像并将其设置为线性布局的背景**

Other solutions here

答案 2 :(得分:0)

只需将android:hardwareAccelerated="true"放入清单应用程序中即可。