10

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

在此处输入图像描述

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

我搜索了这个主题,但所有示例都在 edittext 边框之外显示阴影。我不知道我怎么能做到这一点。

按钮和背景图像已经完成,唯一剩下的就是edittext shadow。如果有人已经这样做或知道如何做到这一点,请与我分享。任何帮助都将不胜感激。

4

5 回答 5

6

变成了这样

在此处输入图像描述

<?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>
于 2016-07-02T06:52:43.093 回答
5

只需在您的可绘制文件夹名称中创建一个 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"
  />

完成了。。肯定有效。。

于 2013-10-29T05:38:47.813 回答
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

于 2013-01-02T13:40:54.903 回答
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>
于 2014-06-27T06:47:15.783 回答
0

如果你想让 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"
于 2016-03-03T04:06:03.920 回答