2013-04-12 75 views
2

此ImageButton是可點擊的。我需要在沒有拉伸的情況下在中心呈現此圖標。有什麼方法可以添加寬度和高度或屬性?請給我一個主意。由於圖像按照寬度和高度在圖像按鈕中拉伸

<ImageButton 
    android:layout_width="60dp" 
    android:layout_height="wrap_content" 
    android:background="@drawable/usercalltab"/> 

usercalltab.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
      <item> 
       <shape android:shape="rectangle" > 
        <solid android:color="#ffdbab" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:src="@drawable/search"/> 
      </item> 
     </layer-list> 
    </item> 
    <item> 
     <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
      <item> 
       <bitmap android:src="@drawable/callme"/> 
      </item> 
     </layer-list> 
     </item> 
</selector> 

enter image description here

+0

你有沒有試過填充選項? – alicanbatur

+0

背景是爲你的背景按鈕。作爲背景,它應該延伸到整個按鈕的下方。使用src和scaleType代替(另外,閱讀文檔,imageButton擴展ImageView,因此它具有所有相同的方法和屬性) – njzk2

+0

而不是後臺使用android:src並使用android:scaleType來縮放或合適圖像。 –

回答

2

我覺得你應該把它分割成背景和前景圖像。它更乾淨,可重複使用。

如果你想實現它沒有這樣做,你可以試試這個:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <solid android:color="#ffdbab" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:src="@drawable/search" android:gravity="center" /> 
      </item> 
     </layer-list> 
    </item> 
    <item> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <solid android:color="@android:color/transparent" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:src="@drawable/callme" android:gravity="center" /> 
      </item> 
     </layer-list> 
    </item> 
</selector> 
+0

工作完美,非常感謝。 –

4

嘗試這樣的:

<ImageButton 
android:layout_width="60dp" 
android:layout_height="wrap_content" 
android:src="@drawable/usercalltab" 
android:scaleType="centerInside" 
/> 

也許android:scaleType="center"

其中之一應該是你在找什麼,我認爲