Android 在ImageView上绘制多个图层

Android 在ImageView上绘制多个图层,android,android-canvas,android-imageview,Android,Android Canvas,Android Imageview,我试着按照安卓开发者网站上的指示去做,但我一定是做错了什么 我尝试创建自定义ImageView并在其上绘制2个位图 活动 public class TestActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi

我试着按照安卓开发者网站上的指示去做,但我一定是做错了什么

我尝试创建自定义ImageView并在其上绘制2个位图

活动

public class TestActivity extends Activity {    

    @Override
    protected void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_layout);       
        LinearLayout left = (LinearLayout) findViewById(R.id.container);

        ModuleImageView iv = new ModuleImageView(this);
        left.addView(iv);
        iv.invalidate();
    }
}
ImageView

public class ModuleImageView extends ImageView{ 

    public ModuleImageView(Context context) {
        super(context); 

    }

    @Override
    protected void onDraw(Canvas canvas) {
        Bitmap b1 = BitmapFactory.decodeResource(getResources(), R.drawable.main_engine);
        Bitmap b2 = BitmapFactory.decodeResource(getResources(), R.drawable.energy);
        canvas.drawBitmap(b1, 0, 0, null);
        canvas.drawBitmap(b2, 5, 5, null);

        super.onDraw(canvas);
    }
}

屏幕上没有显示任何内容,这可能是因为onDraw方法从未执行过。

请改用。构建它并传递到普通ImageView

为什么不使用普通ImageView并使用
setImageResource
setBackgroundResource
?这像两个层一样工作?从没听说过。但有时我需要像3层在这种情况下…谢谢你,这实际上给了我所需要的