android布局 - 缩放图像以适应自定义视图

时间:2012-06-19 16:31:13

标签: android image image-manipulation android-view

如果有人能帮助我解决创建自定义视图(自定义按钮)时出现的一点图像缩放问题,那我就会徘徊?  因此,我使用自定义构造函数和几个方法创建了一个自定义视图类:

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()和其他人,但我的自定义视图大小不是问题。

问题是我用作按钮或您单击的表面的位图图像。我无法缩放它,以便您可以在屏幕上看到整个图像。

有没有办法解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过将按钮的背景设置为9patch图像文件来创建自定义按钮。您还可以使用选择器,并为按钮的不同状态提供不同的9patch图像文件。这比覆盖onDraw()简单得多。