2015-12-31 3 views
9

EditTextにはdrawableLeftの画像があります。私は、この例のように右に私drawableLeft横にEditTextで縦線を追加する必要があります。私は考えることができる
Android EditTextはドロウアブルとテキストの間にディバイダ線を描画します

enter image description here

最も簡単な方法は、私の描画イメージにその行を追加することです。しかし、一般的にこれを行うための他の方法はありますか?

+1

これを達成するための他の方法は、もっと複雑になります。最善の方法は、その行をドロウアブルでのみ追加することです。 – priyanka

答えて

8
  1. 今、私は番目のリニアレイアウトの背景を設定しているレイアウト

    <?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> 
    
  2. を作成するのres /描画可能/ 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> 
    
  3. に長方形の丸みを帯びた角の形状を作成します。角の丸い角の形。これは、ursの画像プレビューとまったく同じように見えます。

+0

これは完全に機能します。このようにすることは決して考えなかった。ありがとう – abeikverdi

+0

@abeikverdi:うれしいよ:) Plzは答えを受け入れる。 – kevz

0

はこの試してみてください、あなたの問題は、あなたがに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="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> 
3

、あなたの.xmlファイル

を解決しましたプロパティとしてのeditText

あなたが欲しいものを置くことができます your_layout.xmlファイル内
android:drawableRight="@android:drawable/your_layout" 
例えば

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

this

+0

ああ。そこにドロアブルを渡すことができます。完全にそれを逃す!カッコいい。 your_layout.xmlのシンプルなコードを追加するとうまくいくでしょう – abeikverdi

0

かなり単純なチェックしてください!

単に '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" /> 

があなたの描画イメージと<your_object>を交換して追加します。

関連する問題