如何在网格视图中滑动分割图像,以便在Android中制作益智游戏?

时间:2012-09-28 06:00:39

标签: android

大家好,                我正在从相机拍摄图像并将其显示在ImageView中,然后单击Button我将使用以下代码将图像拆分为9个相等的部分

ArrayList<Bitmap>cut=new ArrayList<Bitmap>(split);
        BitmapDrawable bd=(BitmapDrawable)pic.getDrawable();
        Bitmap b=bd.getBitmap();
        Bitmap cutimage=Bitmap.createScaledBitmap(b, b.getWidth(), b.getHeight(), true);
        rows=cols= (int) Math.sqrt(split);
        hgt=b.getHeight()/rows;
        wdt=b.getWidth()/cols;



ArrayList<Bitmap> breakedimages== getIntent().getParcelableArrayListExtra("breaked image");

然后我将所有分割的图像放在Arraylist中,然后如何在GridView中移动这些分割的图像。我必须在GridView中混淆分割的图像,然后在网格视图中按照正确的顺序(实际图像)排列所有图像,然后显示吐司。

我已成功分割图像并在网格视图中显示,接下来我无法让它们变成混乱顺序,任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

您需要保持原始位置和位图。使用课程将这些项目放在一起..

class PuzzleItem {
   Drawable puzzlepartImage;
   int correctPosition;

   public PuzzleItem(Drawable d, int index) {
      puzzlepartImage = d;
      correctPosition = index;
   }
}

ArrayList<PuzzleItem> list = new ArrayList<PuzzleItem>();
for (int i = 0; i < 9; i++) {
    list.add(new PuzzleItem(drawables[i], i)); 
}
Collections.shuffle(list);  
// create a adapter from this list and set to grid..