2
我正在android屏幕上顯示氣泡圖像的小應用程序。我已經顯示來自資源目錄的所有氣泡圖像。我在視圖類中實現了以下代碼。如何交換Android上的View上的位圖圖像?
的onDraw方法:
@Override
protected void onDraw(Canvas canvas)
{
super.dispatchDraw(canvas);
drawImages(canvas);
}
我已經實現drawImages()方法,如下所示:
BitmapFactory.Options opts = new BitmapFactory.Options();
private void drawImages(Canvas canvas)
{
for(int i = 0; i<MAX_ROWS; i++){
for(int j=0; j<MAX_COLS; j++)
{
bmp = BitmapFactory.decodeResource(mContext.getResources(), items[i][j],opts);
canvas.drawBitmap(bmp,j*bmp.getWidth()+j*2,i*bmp.getHeight()+i*2,mBitmapPaint);
}
}
}
通過使用上述方法我已經繪製從項[I] [j]的圖像。 我已經實現初始化()覆蓋方法如下:
@Override
protected void initialize()
{
for(int i=0;i<MAX_ROWS;i++)
for(int j=0;j<MAX_COLS;j++)
{
items[i][j] = ImagesStore.ImageList.get(list_Indx);
list_Indx++;
if(list_Indx == ImagesStore.ImageList.size())
list_Indx = 0;
}
opts.inSampleSize = 4;
width = getWidth();
height = getHeight();
}
通過使用上述代碼我已顯示我的仿真器屏幕上的所有的氣泡的圖像。
這裏我想交換用戶同時選擇兩個氣泡的氣泡。
我已經實現的onTouchEvent用於檢查方法的位圖圖像的項目位置在屏幕上,如下所示:
int x = 0;
int y = 0;
int tx = 0, ty = 0;
@Override
public boolean onTouchEvent(MotionEvent event)
{
tx = (int)event.getX();
ty = (int)event.getY();
int position;
x=tx;
y=ty;
row = (y)/bmp.getHeight();
col = x/bmp.getWidth();
position=row*MAX_COLS+(col+1);
Log.v("row", "=====>"+row);
Log.v("col", "=====>"+col);
Log.v("position", "=====>"+position);
count++;
if(count%4==0)
{
Log.v("count", "=====>"+count);
//I would like to implement swap code here
}
return true;
}
從上面的代碼如何可以進行交換的onTouchEvent(間改變的圖像)的位圖圖像()實現
請任何機構幫助我..............