Android:Canvas.drawBitmap()或Imageview.setImageBitmap(位图)

时间:2011-08-15 23:54:07

标签: android canvas imageview

假设我要创建一个显示12个不同PNG图像的活动。

我应该创建一个扩展View的类(比如说“MyView”),我会使用canvas.drawBitmap(...)吗?

public class MyActivity extends Activity {

    private MyView myView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myView = new MyView(this);
        setContentView(myView);
        myView.requestFocus();
    }
    ...
}

public class MyView extends View {

    @Override
    protected void onDraw(Canvas canvas) {
        // do that 12 times ...
        canvas.drawBitmap(...)
    }
}

或者我应该使用12个ImageView对象并在每个对象中设置位图?

public class MyActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        LinearLayout root = new LinearLayout(this);

        // do that 12 time ...
        ImageView imageView = new ImageView();
        Bitmap bitmap = BitmapFactory.decodeFile(...);
        imageView.setImageBitmap(bitmap);
        root.addView(imageView);
    }
    ...
}

谢谢。

埃里克

1 个答案:

答案 0 :(得分:0)

我认为创建ImageView会产生更多开销。

但是,它将提供更容易实现的功能