0

首先,我将我的卡片添加到这样的列表中:

    private void initCards() {
    for (int i = 0; i < 20; i++) {  
    Bitmap tempBitmap = BitmapFactory.decodeResource(myContext.getResources(),R.drawable.ic_launcher);
    scaledCardW = (int) (screenW/10); 
    scaledCardH = (int) (scaledCardW*1.28);
    Bitmap scaledBitmap = Bitmap.createScaledBitmap(tempBitmap,scaledCardW, scaledCardH, false);        
    deck.add(scaledBitmap); 

    }

但是当谈到绘制方法时,我的程序正在转换一个像动画这样的东西。我的 onDraw 方法在这里:

    protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);

    int left=newInteger.nextInt(screenW);
    int right=newInteger.nextInt(screenH);

    for(int i=0 ; i<k ;i++){
        canvas.drawBitmap(deck.get(i), left, right, null);
    }


}

这些位图必须具有随机位置,如果我从我们的主活动中更改 k,则必须绘制不同数量的位图。因此,我无法删除 invalite() 函数。

任何人都可以帮助我吗?不幸的是,关于这个问题的另一个主题没有提供我的请求。

4

1 回答 1

0

Your bitmaps keep moving because you are randomizing their position every time you draw. Try moving these lines:

left = newInteger.nextInt(screenW);
right = newInteger.nextInt(screenH);

into the same function that changes the value of k.

于 2013-09-09T03:25:12.567 回答