Android EditText在其drawable和它的文本之间绘制一个分隔线

abe*_*rdi 11 android android-edittext android-drawable

我有EditText一个drawableLeft图像.我需要在此示例EditText旁边添加一条垂直线drawableLeft:

在此输入图像描述

我能想到的最简单的方法是将该线添加到我的可绘制图像中.但一般来说还有其他办法吗?

kev*_*evz 11

  1. 在res/drawable/shape.xml中创建一个矩形圆角形状

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="3dip" android:color="@android:color/darker_gray" />
    <corners android:radius="10dip"/>
    <padding android:left="10dip" android:top="10dip" android:right="10dip"        android:bottom="10dip" />
    </shape>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 现在创建一个布局

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/shape"
    android:gravity="center_vertical">
    
    
    <ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:src="@drawable/ic_launcher"/>
    
    <View
    android:layout_width="2dp"
    android:layout_height="match_parent"
    android:background="@android:color/darker_gray"
    android:layout_marginLeft="10dp"/>
    
    <EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText"
    android:layout_weight="1"
    android:background="@null"
    android:layout_marginLeft="10dp"
    android:hint="Your bitcoin address here"/>
    
    
    </LinearLayout>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我已将线性布局背景设置为矩形圆角形状.它看起来与urs的图像预览完全一样.