gpt4 book ai didi

android - 如何在android中的View上交换位图图像?

转载 作者:行者123 更新时间:2023-11-29 14:02:43 25 4
gpt4 key购买 nike

我正在使用在 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] 中绘制了图像。我已经实现了 initialize() 覆盖方法,如下所示:

 @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() 中交换(互换图像)位图图像实现

请任何人帮助我......

最佳答案

请将您想要的功能定义为..

“这里我想交换用户同时选择两个气泡的气泡。”

不是一个完整的句子。

关于android - 如何在android中的View上交换位图图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8708324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com