我正在尝试实现如下图所示的效果:
在此图像中,顶部有一个带有圆角和内部阴影的编辑文本。我尝试了很多但没有成功在edittext中获得阴影。
我搜索了这个主题,但所有示例都在 edittext 边框之外显示阴影。我不知道我怎么能做到这一点。
按钮和背景图像已经完成,唯一剩下的就是edittext shadow。如果有人已经这样做或知道如何做到这一点,请与我分享。任何帮助都将不胜感激。
我正在尝试实现如下图所示的效果:
在此图像中,顶部有一个带有圆角和内部阴影的编辑文本。我尝试了很多但没有成功在edittext中获得阴影。
我搜索了这个主题,但所有示例都在 edittext 边框之外显示阴影。我不知道我怎么能做到这一点。
按钮和背景图像已经完成,唯一剩下的就是edittext shadow。如果有人已经这样做或知道如何做到这一点,请与我分享。任何帮助都将不胜感激。
变成了这样
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:centerY="0.2"
android:startColor="#FFBDBDBD"
android:centerColor="#65FFFFFF"
android:endColor="#00FFFFFF"
android:angle="270"
/>
<stroke
android:width="1dp"
android:color="#C3C3C3" />
<corners
android:radius="25dp" />
</shape>
只需在您的可绘制文件夹名称中创建一个 xml 文件作为round_corner.xml 。并添加以下代码。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
android:radius="3dp"
/>
<solid
android:color="@android:color/white"/>
</shape>
最后,您在Edittext的背景属性中添加此 xml,如下所示:-
<EditText
android:id="@+id/ed1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/round_corner"
/>
完成了。。肯定有效。。
您可以将可绘制的形状(矩形)设置为视图的背景。
<TextView android:text="Some text" android:background="@drawable/back"/>
和矩形drawable back.xml(放入res/drawable文件夹):
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<solid android:color="#ffffff" />
<stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>
您可以使用#00000000 使纯色具有透明背景。您还可以使用填充将文本与边框分开。有关更多信息,请参阅:http: //developer.android.com/guide/topics/resources/drawable-resource.html
1.)在drawable文件夹中创建rounded_edittext.xml文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="15dp">
<solid android:color="#FFFFFF"/>
<corners
android:bottomRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"/>
<stroke android:width="1dip" android:color="#FF0000" />
</shape>
2.) 将下面的代码放入 values 文件夹中的 styles.xml 文件中
<style name="largeEdittextText">
<item name="android:textAppearance">@android:style/TextAppearance.Large.Inverse</item>
<item name="android:textSize">15dp</item>
<item name="android:singleLine">true</item>
<item name="android:paddingTop">8dp</item>
<item name="android:paddingBottom">8dp</item>
<item name="android:paddingLeft">5dp</item>
<item name="android:background">#FFB90F</item>
<item name="android:textColor">@android:color/black</item>
</style>
3.)在布局文件中的edittext上应用两者
<EditText
android:id="@+id/userName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center_horizontal"
android:hint="@string/login_userHint"
android:text="admin"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:singleLine="true"
android:textAppearance="@style/largeEdittextText"
android:background="@drawable/rounded_edittext">
</EditText>
如果你想让 EditText 的边框为圆形和曲线,那么只需将此代码粘贴到 Drawable/mystyle.xml 中(创建此 xml 文件)。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:thickness="0dp"
android:shape="rectangle">
<stroke android:width="1dp"
android:color="#c8c8c8"/>
<corners android:radius="11dp" />
</shape>
现在在您的 EditText 链接中,此文件为
android:background="@+drawable/mystyle"