2012-06-19 74 views
0

如果任何人都可以幫助我創建自定義視圖(自定義按鈕)時遇到小圖像縮放問題,我是在徘徊嗎? 所以,我創建了自定義構造函數和一些方法的自定義視圖類:android layout - 縮放圖像以適應自定義視圖

public class GamesButton extends View { 
public int imageID; 
public Bitmap image; 
public GamesButton(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 
public GamesButton(Context context, int resImage) { 
    super(context); 
    this.imageID = resImage; 
    this.image = BitmapFactory.decodeResource(context.getResources(),imageID); 
    setFocusable(true); 
    setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // do something 
     } 
    }); 
    setClickable(true); 
} 
public void onDraw(Canvas canvas) { 
    Paint textPaint = new Paint(); 
    textPaint.setColor(Color.BLACK); 
    canvas.drawBitmap(image,0 , 0,null); 

} 
    . 
    . 
    . 

我也覆蓋onMeaure()等人,但我的自定義視圖大小在這裏不是問題。

問題是我用作按鈕或點擊表面的位圖圖像。我無法縮放它,以便您可以在屏幕上看到整個圖像。

有沒有辦法解決這個問題?

謝謝!

回答

0

您可以通過將按鈕的背景設置爲9patch圖像文件來創建自定義按鈕。您還可以使用選擇器,並針對按鈕的不同狀態使用不同的9patch圖像文件。這比重寫onDraw()簡單得多。

+0

謝謝你的回答,我也會嘗試一下,但是我的問題不僅與按鈕有關,還與圖像縮放和自定義視圖有關。 – ZeZe

+0

圖像縮放是使用9個小節完成的。 – Christine