2

我正在尝试为edittext提供如下所示的阴影效果

真实密码

但我做不到。以下是我到目前为止所做的

在此处输入图像描述

我的代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background" >

 <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" >

    <LinearLayout
        android:id="@+id/layout_linear_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/img_6parcels"
        android:layout_centerInParent="true"
        android:layout_marginBottom="10dp"
        android:background="@drawable/screen_background"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="20dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="20dp" >

        <EditText
            android:id="@+id/edit_text_domain"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:hint="Domain"
            android:paddingBottom="3dp"
            android:background="@drawable/edittext_shadow" 
            android:paddingTop="3dp">
            <requestFocus />
        </EditText>

        <ImageView
            android:id="@+id/address"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_marginBottom="3dp"
            android:layout_marginTop="3dp"
            android:src="@drawable/slice_address_transparent" />

        <EditText
            android:id="@+id/edit_text_invinzee"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/edittext_shadow" 
            android:gravity="center"
            android:hint="Invinzee"
            android:paddingBottom="3dp"
            android:paddingTop="3dp" />

        <EditText
            android:id="@+id/edit_text_password"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/edittext_shadow"
            android:gravity="center"
            android:hint="Password"
            android:inputType="textPassword"
            android:paddingBottom="3dp"
            android:paddingTop="3dp" />

        <Button
            android:id="@+id/log_in_Button"
            android:layout_width="100dp"
            android:layout_height="40dp"
            android:layout_gravity="center"
            android:layout_marginTop="25dp"
            android:gravity="center"
            android:text="LOGIN" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/img_6parcels"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="20dp" >

        <ImageView
            android:id="@+id/parcel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/six3_03" />
    </LinearLayout>

    <TextView
        android:id="@+id/text_delivery"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/layout_linear_login"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:text="Perfect Job"
        android:textColor="#353f41" />
</RelativeLayout>

</RelativeLayout>

我的 edittext_shadow.xml 如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<!-- most important is order of layers -->

<!-- Bottom right side 2dp Shadow -->
<item >
    <shape android:shape="rectangle">
        <solid android:color="#660099" />           
    </shape>
</item>

<!-- Bottom 2dp Shadow -->
<item>
    <shape android:shape="rectangle">
        <solid android:color="#660099" />   
    </shape>
</item>

<!-- White Top color -->
<item android:top="-3px" android:left="-3px">
    <shape android:shape="rectangle">
        <solid android:color="#86ae0b" />  

    </shape>
</item> 
</layer-list>

我尝试如此链接所示将阴影效果添加到 EditText 字段,但无法完成。

任何帮助!!!

4

3 回答 3

2

谢谢,伙计们的帮助。

混合来自Add drop shadow effects to EditText Field的代码和来自babar sanah的回答我能够找到解决方案。

我的解决方案如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<!-- most important in order of layers -->

<!-- Bottom right side 2dp Shadow -->
<item >
    <shape android:shape="rectangle">
        <gradient
    android:angle="270"
    android:endColor="#333333"
     android:centerColor="#86ae0b"
    android:startColor="#666666" />          
    </shape>
</item>

<!-- Bottom 2dp Shadow -->
<item>
    <shape android:shape="rectangle">
        <gradient
    android:angle="270"
    android:endColor="#333333"
     android:centerColor="#86ae0b"
    android:startColor="#666666" />
    </shape>
</item>

<!-- White Top color -->
<item android:top="5px" android:left="5px">
    <shape android:shape="rectangle">
        <gradient
    android:angle="-90"
    android:endColor="#333333"
     android:centerColor="#86ae0b"
    android:startColor="#666666" />
      
    </shape>
</item> 
</layer-list>

非常感谢您的帮助,这对我来说意义重大。

于 2013-11-13T05:33:56.547 回答
1

创建一个shape.xml 放在可绘制文件夹中的 xml 并提供您的编辑文本背景

android:background="@drawable/shape"
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle" 
      android:padding="10dp">
    <!-- you can use any color you want I used here gray color-->
    <gradient android:angle="-90"
          android:endColor="#436EEE" 
          android:startColor="#436EEE"
          android:centerColor="#4876FF" />        
</shape>
于 2013-11-12T11:43:54.257 回答
1

为什么你没有尝试渐变?如果可以的话请告诉我..

 <gradient
        android:angle="270"
        android:centerColor="@color/shadow_alpha"
        android:endColor="@color/shadow_alpha1"
        android:startColor="@color/shadow_alpha2" />

根据您的需要定义颜色..

于 2013-11-12T11:22:46.287 回答