我试图遵循Android开发者网站的指示,但我肯定做错了什么。
我尝试创建自定义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方法从未被执行过。
发布于 2012-11-03 12:57:50
使用LayerDrawable代替。构造它并传递给一个正常的ImageView
https://stackoverflow.com/questions/13209195
复制相似问题