首页 > 解决方案 > 视图周围的渐变阴影

问题描述

我需要在 EditText 周围设置以下渐变。

app_bar

我尝试使用高程,但我并没有完全得到我需要的效果,因为我需要阴影是一个非常浅的渐变并且在视图周围,而不仅仅是在底部。

这是我现在的background.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
            android:bottom="2dp"
            android:left="2dp"
            android:right="2dp">
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
            <corners android:radius="16dp" />
        </shape>
    </item>
</layer-list>

和我的activity.xml

<androidx.cardview.widget.CardView  android:layout_width="320dp"
                                        android:layout_height="40dp" app:layout_constraintEnd_toEndOf="parent"
                                        app:layout_constraintStart_toStartOf="parent"
                                        android:layout_marginTop="16dp"
                                        app:layout_constraintTop_toTopOf="parent"
                                        app:cardCornerRadius="16dp"
                                        app:cardElevation="0dp">

        <EditText android:layout_width="320dp" android:layout_height="40dp"
                  android:hint="@string/email_hint" android:paddingStart="16dp" android:paddingEnd="16dp"
                  android:textSize="16sp" android:textColor="@color/colorAccent"
                  android:background="@drawable/background" android:drawableStart="@drawable/search"
                  android:drawablePadding="16dp" android:textColorHint="#8A8A8A"
                  android:id="@+id/search_edittext"/>

    </androidx.cardview.widget.CardView>

我尝试将它放在卡片视图中以使用海拔高度,但由于我上面写的原因,它没有成功。

你能帮我弄清楚如何拥有这个影子吗?

标签: androidlayoutshadow

解决方案


您可以使用此工具为您的编辑文本制作自定义背景形状。

因此,您有这样的东西可以设置为您的视图的背景。

在此处输入图像描述
但这并不是真正的渐变。为此,您应该制作一个九块图像,就像这个。所以你有那个图像作为背景。


推荐阅读