2013-01-15 30 views
1

我創建了一個自定義按鈕:創建自定義UI組件按鈕,邊框

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <shape> 
      <gradient android:startColor="#5a803f" 
       android:endColor="#446c1a" android:angle="90" /> 
      <stroke android:width="5dp" android:color="#3d5e1d" /> 
      <corners android:radius="3dp" /> 
      <padding android:left="8dp" android:top="8dp" 
       android:right="8dp" android:bottom="8dp" /> 
     </shape> 
    </item> 
    <item android:state_focused="true"> 
     <shape> 
      <gradient android:startColor="#5a803f" 
       android:endColor="#446c1a" android:angle="90" /> 
      <stroke android:width="5dp" android:color="#3d5e1d" /> 
      <corners android:radius="3dp" /> 
      <padding android:left="8dp" android:top="8dp" 
       android:right="8dp" android:bottom="8dp" /> 
     </shape> 
    </item> 
    <item> 

    </item> 

</selector> 

但我需要這個按鈕放置在黑色的背景與定義的利潤率和在頂部和底部的白色邊框。這個背景不應該是可點擊的。事情是這樣的:

enter image description here

我怎樣才能實現呢?藉助於此選擇器或樣式使用。請幫助一個代碼示例。

回答

0

我解決使用TableLayout這個問題。在這種情況下,我的TextView看起來像:

<TableRow 
    android:id="@+id/tableRow3" 
    style="@style/button_row" 
    > 
    <Button 

     android:id="@+id/btnProceed" 
     style="@style/custom_button" 
     android:layout_centerHorizontal="true" 
     android:text="Log In" 
     /> 
    </TableRow> 

etc等所有UI元素。

1

您可以實現這一點使用選擇

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/icon_button_disabled" android:state_enabled="false"/> 
    <item android:drawable="@drawable/icon_button_pressed" android:state_pressed="true"/> 
    <item android:drawable="@drawable/icon_button_focused" android:state_focused="true"/> 
    <item android:drawable="@drawable/icon_button_normal"/> 
</selector> 

按鈕佈局

<?xml version="1.0" encoding="utf-8"?> 
    <Button android:id="@+id/textAndIconBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Text in the button" 
     android:background="@drawable/button" 
     android:drawableLeft="@drawable/star_icon" 
     android:drawablePadding="5dip" 
     android:textColor="#ffffffff"/> 

欲瞭解更多信息,你可以嘗試this Link

+0

不,我需要黑色的背景,使不可點擊... –