我在 android 中创建了一个简单的自定义控件,并在其上放置了背景图像。当控件以不同大小放置在布局上时(即拉伸时),我遇到了问题,特别是:
我希望在特定位置和大小处覆盖一个矩形,我知道原始图像的像素位置。我怎么能用我的控制做到这一点。我怀疑这样的事情是不可能的,因为它是一个 9 补丁。我最好的选择是从原件的顶部/左侧计算出百分比,还是考虑到某些部分拉伸而有些则没有,这毫无意义?
在自定义控件中,我在构造函数中设置了这样的图像:
setBackgroundResource(R.drawable.buttonbt);
哪个工作得很好,但是我最初想在 onDraw 事件中绘制它,因为我可能想根据属性更改来更改它,例如
Bitmap b=BitmapFactory.decodeResource(getResources(), R.drawable.buttonbt);
canvas.drawBitmap(b, 0, 0, null);
但这不会根据其边界框的大小调整大小,它只是试图以原始大小显示它而不缩放以适应。你将如何做到这一点(无论前一种方法是否更好)。
谢谢。