首先,我将我的卡片添加到这样的列表中:
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);
}
}
这些位图必须具有随机位置,如果我从主Activity中更改k,则必须绘制不同数量的位图。因此,ı无法删除invalite()函数。
有人能帮帮我吗?不幸的是,关于这个问题的另一个话题并未提供我的要求。
答案 0 :(得分:0)
您的位图一直在移动,因为您每次绘制时都会随机化他们的位置。尝试移动这些行:
left = newInteger.nextInt(screenW);
right = newInteger.nextInt(screenH);
进入改变k值的同一函数。