2016-01-04 67 views
10

我的代碼中有一些EditText,我想讓它的底部邊框更薄一些。在因特網上找不到任何關於它的任何信息,或許這裏的任何人都可以幫助我。更改EditText底部邊框的大小

我有什麼: enter image description here

我想要什麼: enter image description here

+0

下劃線或底部邊框? coz下劃線是字體的屬性不是gui – anshuVersatile

+0

@anshu我想我的意思是底部邊框 – Ron

回答

22

嘗試這樣的柔焦效果:

edt_bg_selector.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/edt_bg_selected" android:state_focused="true"/> 
<item android:drawable="@drawable/edt_bg_normal" android:state_focused="false"/> 
</selector> 

edt_bg_normal.xml:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:bottom="1dp" 
    android:left="-2dp" 
    android:right="-2dp" 
    android:top="-2dp"> 
    <shape android:shape="rectangle" > 
     <stroke 
      android:width="1px" 
      android:color="#FF000000" /> 

     <solid android:color="#00FFFFFF" /> 

     <padding 
      android:bottom="5dp" 
      android:left="5dp" 
      android:right="5dp" 
      android:top="5dp" /> 
    </shape> 
</item> 
</layer-list> 

edt_bg_selected.xm L:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:bottom="1dp" 
    android:left="-2dp" 
    android:right="-2dp" 
    android:top="-2dp"> 
    <shape android:shape="rectangle" > 
     <stroke 
      android:width="1px" 
      android:color="#ff0000" /> 

     <solid android:color="#00FFFFFF" /> 

     <padding 
      android:bottom="5dp" 
      android:left="5dp" 
      android:right="5dp" 
      android:top="5dp" /> 
    </shape> 
</item> 
</layer-list> 

,改變像你編輯短信:

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/edt_bg_selector" /> 
+0

還有一個問題,我必須改變這個屬性才能使邊框稍微粗一點? @Srikanth – Ron

+0

我認爲我們不能畫出比1px更薄的繪圖,因爲它是基本單位。你可以像這樣設置0.01dp。但是隻有使用'px =(int)(scale * dp + 0.5)'這個公式,其中scale爲'1 for mdpi','1.5 for hdpi','2 for xhdpi'和'3 for xxhdpi' 」。 – Srikanth

+0

如果您想要比1px更薄,請嘗試將可繪製顏色更改爲更透明的顏色,如「#26000000」。檢查透明度百分比'http://stackoverflow.com/questions/15852122/hex-transparency-in-colors'。 – Srikanth

3

嘗試這樣如下:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@null" 
     android:hint="Biografie" 
     android:textColorHint="#99000000" 
     android:drawableLeft="@drawable/quote_img" /> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="1px" 
     android:background="#80000000" /> 
</LinearLayout> 

或者

保持這種btm_line_shape.xml在你繪製的文件夾:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:bottom="1dp" 
    android:left="-2dp" 
    android:right="-2dp" 
    android:top="-2dp"> 
    <shape android:shape="rectangle" > 
     <stroke 
      android:width="1px" 
      android:color="#FF000000" /> 

     <solid android:color="#00FFFFFF" /> 

     <padding 
      android:bottom="5dp" 
      android:left="5dp" 
      android:right="5dp" 
      android:top="5dp" /> 
    </shape> 
</item> 
</layer-list> 

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Biografie" 
    android:textColorHint="#99000000" 
    android:background="@drawable/btm_line_shape" 
    android:drawableLeft="@drawable/quote_image" /> 
+0

謝謝,完美的工作!你知道我點擊時EditText的焦點顏色嗎? @Srikanth – Ron

+0

檢查此:http://stackoverflow.com/questions/23417443/change-border-color-when-edittext-is-focused – Srikanth

+0

改變以上btm_line_shape.xml像這個鏈接,並將其應用爲背景。 – Srikanth