2013-05-10 164 views
2

我正在嘗試使自定義按鈕沒有填充。爲了這個目的,我創建以下選擇:將自定義按鈕應用到自定義按鈕

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_pressed="true" > 
     <shape> 
      <solid 
       android:color="#33b5e5"/> 
      <corners 
       android:radius="1dp" /> 
      <padding 
       android:left="0dp" 
       android:top="0dp" 
       android:right="0dp" 
       android:bottom="0dp" /> 
     </shape> 
    </item> 

    <item android:state_focused="true" > 
     <shape> 
      <solid 
       android:color="#cccccc"/> 
      <corners 
       android:radius="1dp" /> 
      <padding 
       android:left="0dp" 
       android:top="0dp" 
       android:right="0dp" 
       android:bottom="0dp" /> 
     </shape> 
    </item> 

    <item>   
     <shape> 
      <solid 
       android:color="#cccccc"/> 
      <corners 
       android:radius="1dp" /> 
      <padding 
       android:left="0dp" 
       android:top="0dp" 
       android:right="0dp" 
       android:bottom="0dp" /> 
     </shape> 
    </item> 
</selector> 

我定義我的按鈕在XML文件:

<Button 
     android:text="Some text" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:background="@drawable/button_selector" 
     android:textSize="45sp" 

     android:paddingBottom="0dp" 
     android:paddingTop="0dp" 
     android:layout_margin="3dip"/> 

但總是有填充頂部和按鈕的底部。我已經搜索過,發現了一些答案,但沒有幫助我。可能是什麼問題呢?

回答

3

設置邊距是否有助於您的情況?試試這個:

 android:layout_marginTop="-3dip" 
    android:layout_marginBottom="-3dip" 
+0

這很有用。我嘗試了負值填充值,但忘記測試負值餘量。我試圖用編程方式製作按鈕,但沒有運氣。你可能有一個想法如何解決這個問題? – sinisha 2013-05-10 14:14:54

+1

@sinisha,如果你真的想擺脫它,創建你自己的[9-patch](http://developer.android.com/tools/help/draw9patch.html) – 2013-05-10 14:24:10

+0

@sinisha,請參閱[如何設置layout_margin以編程方式?](http://stackoverflow.com/a/5788570/1693859)。它可能有幫助。 – 2013-05-10 18:47:48