如何自定义设计android编辑文本

时间:2017-02-17 15:26:34

标签: android xml

大家好我想到了我想要在我的Android应用程序中实现的特定设计,但是我很难想出一个方法来实现它,这就是我正在寻找的。

我正在寻找: enter image description here

<LinearLayout
    android:background="#C5CAE9"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:orientation="horizontal">

    <android.support.design.widget.TextInputLayout
        android:padding="5dp"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:background="#3F51B5"
        android:layout_height="match_parent">

        <android.support.design.widget.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/form_username"/>

`

3 个答案:

答案 0 :(得分:1)

您可以使用九补丁来执行此操作。 NinePatch图像是PNG图像,您可以在其上指定允许/拒绝保留文本的区域。因此,您可以设计想要的图像(使用图标)并拒绝在图标部分上书写文本,完成后将图像设置为背景。在Android Studio中,有一个有用的WYSIWIG工具。有关详细信息,请查看here

答案 1 :(得分:0)

我会这样说:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" 
android:layout_width="100dp"
android:layout_height="wrap_content"
android:background="@drawable/your_background_with_orange_stroke">

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:src="@drawable/your_left_one_drawable"/>

<android.support.design.widget.TextInputLayout
    android:padding="5dp"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:background="#3F51B5"
    android:layout_height="match_parent">

    <android.support.design.widget.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/form_username"/>
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:src="@drawable/your_right_pen_drawable"/>

答案 2 :(得分:0)

试着看看这是不是你想要的。

创建drawable shape.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="50dp" />  <-- change it to your need radius
    <stroke android:width="3px" android:color="@color/chocolate" />
    <solid android:color="@color/grey"/>
</shape>

创建布局

<RelativeLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginTop="15dp">

     <EditText
           android:id="@+id/keyword"
           android:layout_width="match_parent"
           android:layout_height="50dp"
           android:hint="Type keyword..."
           android:padding="15dp"
           android:textSize="16sp"
           android:inputType="textPersonName"
           android:background="@drawable/shape"/>

     <ImageView
           android:id="@+id/icon"
           android:layout_width="50dp"
           android:layout_height="50dp"
           android:padding="10dp"
           android:tint="@color/chocolate"
           android:layout_alignParentRight="true"
           android:layout_alignParentEnd="true"
           android:src="@drawable/icon_calendar"/>
</RelativeLayout>