在android中的视图上绘制多个位图

时间:2013-08-13 17:43:16

标签: android android-canvas

我试图制作一个视图,其中我有6-7个不同的图像。 在视图中只扫描一个图像没有问题,但如何在该视图上绘制多个图像。

这是我的代码 -

 Bitmap img1= BitmapFactory.decodeResource(context.getResources(),
                    R.drawable.football);

这是我的onDraw()方法 -

@Override
    protected void onDraw(Canvas canvas) {
        setBackgroundColor(Color.GREEN);

        float hgt=canvas.getHeight();
        float wth=canvas.getWidth();
        System.out.println("hgt and wt is "+hgt+" "+wth);

        if (startMovement) {

            left = 0;
            right = 0;
            startMovement = false;
        }
        CheckCorner(canvas);
        super.onDraw(canvas);
    }

图像从上到下移动,需要连续显示。

2 个答案:

答案 0 :(得分:0)

我不知道你是否可以将更多的位图添加到View中。 您可能想要的是将6-7个ImageView添加到Layout / GroupView:

ImageView iv = new ImageView(this);
iv.setBackgroundResource(R.drawable.myImage1);
ImageView iv2 = new ImageView(this);
iv2.setBackgroundResource(R.drawable.myImage2);
.
.
.
LinearLayout ll = new LinearLayout(this);
ll.addView(iv);
ll.addView(iv2);

此外,您可以使linearlayout水平布局视图

答案 1 :(得分:0)

我只使用RelativeLayout或LinearLayout。

RelativeLayout为您提供了更多关于放置视图的灵活性,但需要更多代码用于布局参数(您要放置视图的位置)。 Check this answer on RelativeLayouts

如果您要将视图放在一行(水平或垂直)中,请改用LinearLayout。 Check this answer on LinearLayouts.