我应用了海拔属性和可绘制背景,为EditText View
提供了圆角轮廓,但是没有阴影。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:background="#FAFAFA"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="51dp"
android:layout_marginTop="52dp"
android:elevation="20dp"
android:background="@drawable/rounded_edittext"
android:drawableStart="@drawable/ic_search_icon"
android:drawableLeft="@drawable/ic_search_icon"
android:ems="10"
android:inputType="textPersonName"
android:paddingLeft="20dp"
android:paddingRight="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
</android.support.constraint.ConstraintLayout>
和背景rounded_edittext.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners
android:bottomRightRadius="27.5dp"
android:bottomLeftRadius="27.5dp"
android:topLeftRadius="27.5dp"
android:topRightRadius="27.5dp"/>
<stroke android:color="#66000000" android:width="0.5dp"/>
</shape>
更新
下面是原始设计。
答案 0 :(得分:2)
用以下代码替换rounded_edittext.xml:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape
android:shape="rectangle">
<solid android:color="@android:color/darker_gray" />
<corners android:radius="27.5dp"/>
</shape>
</item>
<item android:right="1dp" android:left="1dp" android:bottom="2dp">
<shape
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners
android:radius="27.5dp"/>
<stroke android:color="#66000000" android:width="0.5dp"/>
</shape>
</item>
另外,将 EditText 中的android:elevation="20dp"
替换为android:elevation="4dp"
答案 1 :(得分:0)
转到此处:Android View shadow
或者,如果您想在视图下放置阴影,请添加以下内容
在您的Layout.xml中
<View android:layout_width="match_parent"
android:layout_height="5dp"
android:background="@drawable/dropshadow"/>
drawble / dropshadow.xml>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="@android:color/transparent"
android:endColor="#88333333"
android:angle="90"/>
</shape>