2011-02-26 83 views
14

我有一個ImageButton的,我使用的是包括@android:繪製/ ic_menu_more圖像。但它太大了。調整大小以適應我的表單更好的最佳方式是什麼?另外,它可以在xml中旋轉嗎? (只有一次,而不是基於狀態)調整大小的ImageButton?

回答

31

嘗試上的按鈕設置圖像設置android:background而不是android:src。這可能有助於你的情況,因爲它會將圖像拉伸到按鈕的大小。此外,你將不得不指定按鈕(使用dip而不是px)固定尺寸。例如:

<ImageButton 
    android:background="@drawable/ic_menu_more" 
    android:layout_width="50dip" 
    android:layout_height="50dip" /> 
+2

對於那些以編程方式進行編程的人,請使用setbackgrounddrawable或setbackground代替setimageresource – 2013-07-09 15:35:29

2

從史蒂芬 - byle的解決方案(https://stackoverflow.com/a/15117536/1741997),他說:

」 ...使用的是Android:scaleType = 「fitCenter」 有Android的縮放圖像,和android:adjustViewBounds = 「真」,讓他們調整,由於其縮放範圍......」

它爲我

0

我解決了這個問題是從有問題的繪圖資源創建位圖,然後把它轉換成一個方式縮放位圖與所需的大小。我也將背景設置爲透明以僅顯示圖像。

int height = 300; 
    int width = 500 
    Bitmap bmp; 
    bmp = BitmapFactory.decodeResource(getResources(), R.drawable.myresourcename); 
    bmp = Bitmap.createScaledBitmap(bmp, width, height, true); 
    ImageButton imageButton = new ImageButton(this.getActivity()); 
    imageButton.setImageBitmap(bmp); 
    imageButton.setBackgroundColor(Color.TRANSPARENT); 

然後將其添加到佈局。

相關問題