我正在尝试实现下图所示的效果:
在此图像中,有一个带有圆角和内部阴影的编辑文本。我尝试了很多但没有成功在edittext中获取阴影。
我搜索了这个主题,但所有示例都显示了edittext边框外的阴影。我不知道如何实现这一目标。
按钮和背景图像已经完成,唯一剩下的就是edittext阴影。如果有人已经这样做或知道如何做到这一点请与我分享。任何帮助都应该得到赞赏。
答案 0 :(得分:5)
只需在 drawable 文件夹名称中创建一个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"
/>
完成......无限期地工作..
答案 1 :(得分:3)
喜欢这个
<?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>
答案 2 :(得分:2)
您可以将形状可绘制(矩形)设置为视图的背景。
<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
答案 3 :(得分:2)
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>
答案 4 :(得分:0)
如果你想创建EditText Round和curve的 border ,那么只需将这段代码粘贴到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"