我创建了一个自定义ImageView类,因为我想要覆盖Canvas的onDraw方法; 然而,在我的自定义ImageView类中没有继承XML属性scaleType="centerInside"和adjustViewBounds="true"。如果我切换到默认的ImageView,一切都可以正常工作 - 但是如何让它在我的自定义ImageView中工作呢?
在下面的代码中,我只是从我的应用程序类中检索位图并将其绘制到画布上; 但是,当使用我的CustomImageView时,图像非常大,并且没有正确缩放。有什么办法可以解决这个问题吗?谢谢!
自定义ImageView XML:
在下面的代码中,我只是从我的应用程序类中检索位图并将其绘制到画布上; 但是,当使用我的CustomImageView时,图像非常大,并且没有正确缩放。有什么办法可以解决这个问题吗?谢谢!
自定义ImageView XML:
<com.project.app.controls.CustomImageView
android:id="@+id/myImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="centerInside"/>
自定义ImageView类:
public class CustomImageView extends ImageView {
ProjectApp wApp;
Paint paint;
public CustomImageView(Context context, AttributeSet attrs) {
super(context, attrs);
wApp = ProjectApp.createInstance();
paint = new Paint();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
canvas.drawBitmap(wApp.photoTaken, 0, 0, null);
}
}
android:scaleType="fitXY"
- petey