オーバーライドされた onDraw() 関数には、2 つのゲージを含むキャンバスがあります (ゲージは PNG です)。ゲージは互いに積み重ねられています。上部のゲージの半分だけを表示し、残りの半分の下部のゲージを表示したいと思います。これが私がこれまでに持っているものです:
@Override
public void onDraw(Canvas c){
int targetWidth=200;
int targetHeight=200;
Paint p = new Paint();
Bitmap bottom = BitmapFactory.decodeResource(getResources(), R.drawable.dashboard_rpm_bottom);
Bitmap top = BitmapFactory.decodeResource(getResources(), R.drawable.dashboard_rpm_top);
p.setFilterBitmap(false);
c.translate(55,320);
c.drawBitmap(
bottom,
new Rect(0, 0, bottom.getWidth(), bottom.getHeight()),
new Rect(0, 0, targetWidth, targetHeight),
p);
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT));
c.drawBitmap(
top,
new Rect(0, 0, top.getWidth(), top.getHeight()),
new Rect(0, 0, targetWidth, targetHeight),
p);
}
うまくいかないようです、誰かアイデアはありますか?