Android EditText draw a divider line between its drawable and its text

后端 未结 4 1006
逝去的感伤
逝去的感伤 2020-12-31 10:05

I have an EditText with a drawableLeft image. I need to add a vertical line in EditText right beside my drawableLeft like

相关标签:
4条回答
  • 2020-12-31 10:47

    You can create a layout and attache to the editText as a property

    android:drawableRight="@android:drawable/your_layout"
    

    for example

    <EditText 
       android:width="match_parent"
       android:drawableLeft="@android:drawable/your_layout"
    />
    

    in your your_layout.xml file you can put anything you want.

    Please check this

    0 讨论(0)
  • 2020-12-31 10:48

    Try this , your issue solved

    In your .xml file ,

    <?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="match_parent"
        android:orientation="vertical">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:background="@drawable/customborder"
            android:gravity="center|left"
            android:minHeight="40dip"
            android:orientation="horizontal"
            android:padding="5dip"
            android:weightSum="2">
    
            <LinearLayout
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="0.2"
                android:gravity="center"
                android:orientation="vertical">
    
                <ImageView
                    android:id="@+id/img_clear_to"
                    android:layout_width="30dip"
                    android:layout_height="30dip"
                    android:src="@drawable/ic_action_delete" />
            </LinearLayout>
    
            <View
                android:id="@+id/vvv1"
                android:layout_width="2dp"
                android:layout_height="match_parent"
                android:background="@color/colorAccent" />
    
            <LinearLayout
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1.8"
                android:orientation="vertical">
    
                <TextView
                    android:id="@+id/text_to"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:clickable="true"
                    android:padding="5dip"
                    android:text="@string/text_to"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/black"
                    android:textSize="@dimen/font_normal_size" />
            </LinearLayout>
    
    
        </LinearLayout>
    </LinearLayout>
    

    customborder.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <corners
            android:radius="2dp"
            android:topRightRadius="0dp"
            android:bottomRightRadius="0dp"
            android:bottomLeftRadius="0dp" />
        <stroke
            android:width="1dp"
            android:color="@android:color/black" />
    </shape>
    
    0 讨论(0)
  • 2020-12-31 10:56

    Fairly simple!

    Just add a 'FrameLayout'

     <FrameLayout
                android:id="@+id/vertical_divider"
                android:layout_width="2dp"
                android:layout_height="48dp"
                android:layout_toEndOf="@+id/<your_object>"
                android:layout_toRightOf="@+id/<your_object>"
                android:background="@color/grey" />
    

    Replace <your_object> with your drawable image.

    0 讨论(0)
  • 2020-12-31 11:04
    1. Create a rectangular rounded corner shape in 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>
      
    2. Now create a layout

      <?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>
      
    3. I have set the Linear layout background with th rectangular rounded corner shape. It looks exactly as the image preview of urs.

    0 讨论(0)
提交回复
热议问题