【问题标题】:Add shadow on right and bottom side of the layout在布局的右侧和底部添加阴影
【发布时间】:2015-05-06 05:35:05
【问题描述】:

我想在布局的右侧和底部添加一个浅色阴影。我尝试使用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>

【问题讨论】:

标签: android android-layout drawable android-drawable


【解决方案1】:

我认为这可能会解决您的问题

 <?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>

然后将其作为背景应用到 XML 布局 LinearLayout android:background="@drawable/drawable_name"

【讨论】:

  • 不错的答案。为它 +1。
【解决方案2】:

这是我提到的,它奏效了。

** 1.添加一个灰色的纯线性布局,在上面添加你的实际布局,底部和右侧的边距等于 1 或 2 dp

2.有一个带有阴影的 9-patch 图像并将其设置为线性布局的背景**

Other solutions here

【讨论】:

  • 第 1 点是个好主意!
【解决方案3】:

只需将android:hardwareAccelerated="true" 放入您的清单应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 2021-03-18
    • 1970-01-01
    相关资源
    最近更新 更多