2014-07-21 236 views
3

我爲我的EditText創建背景,並且我想在文本下添加一行。Android EditText背景線

我的後臺代碼:

<item android:state_pressed="true" android:state_focused="true"> 
    <shape> 
     <solid android:color="#10FFFFFF" /> 
     <corners android:radius="5dp" /> 
    </shape> 
</item> 

如何添加里面的造型線?從圖形項目

前瞻:enter image description here

+0

的最佳方式是創建一個空的矩形(設置固體透明和中風以所需的顏色)和「推」的頂部,左邊一個背景,和具有負右邊緣關閉偏移。看到這個:http://stackoverflow.com/questions/19238738/android-shape-with-bottom-stroke/19239478#19239478 – Krylez

+0

什麼也沒有發生, – Maciej

+0

你創建一個9補丁的圖像,並手動畫一條線。或者,如果你想要執行更多以編程方式參與的事情,您可以創建自己的「EditText」來繪製線條:http://stackoverflow.com/a/6111460/394933 – Brian

回答

15

試試這個(答案是通過編輯後發佈Krylez找到)。 我已經測試過它,它的工作原理。用可繪製文件夾創建一個XML,並根據需要設置顏色。然後設置作爲用於所述的EditText

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@android:color/transparent" /> <!--background color of box--> 
     </shape> 
    </item> 

    <item 
     android:top="-2dp" 
     android:right="-2dp" 
     android:left="-2dp"> 
     <shape> 
      <solid android:color="@android:color/transparent" /> 
      <stroke 
       android:width="1dp" 
       android:color="#000000" /> <!-- color of stroke --> 
     </shape> 
    </item> 
</layer-list>