使用圆角和阴影编辑文本

时间:2013-01-02 13:10:51

标签: android android-layout

我正在尝试实现下图所示的效果:

enter image description here

在此图像中,有一个带有圆角和内部阴影的编辑文本。我尝试了很多但没有成功在edittext中获取阴影。

我搜索了这个主题,但所有示例都显示了edittext边框外的阴影。我不知道如何实现这一目标。

按钮和背景图像已经完成,唯一剩下的就是edittext阴影。如果有人已经这样做或知道如何做到这一点请与我分享。任何帮助都应该得到赞赏。

5 个答案:

答案 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)

喜欢这个

enter image description here

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