在Android中移动可绘制对象时遇到麻烦

credo56

我在设置一些代码时遇到了麻烦,这些代码使我只需依次单击两个imageViews(一个带有源图像,然后是目标imageView),就可以将imageView的可绘制对象移动到另一个imageView。

目标是模拟棋盘。

我的开始显示如下: 在此处输入图片说明

然后,当我单击最左边的棋子,然后单击它前面的正方形时,结果如下。您会看到目标imageView(第一列第三行)正在失去其水平边界定义,并在整个tableRow中展开:

现在,我还在每个方格中重置标签以及可绘制对象,但是我可以想象问题出在我获取和设置可绘制对象的方式上。

我的代码如下:

int selectedId = getResources().getIdentifier(selectedSquare, "id", getPackageName());

ImageView sourceSquare = (ImageView) findViewById(selectedId);

Drawable sourceDrawable = sourceSquare.getDrawable();

ImageView targetSquare = (ImageView) findViewById(R.id.s20);
targetSquare.setImageDrawable(sourceDrawable);

我的猜测是,sourceDrawable我正在创建变量会以某种方式捕获太多或太少的信息,并且当我将可绘制对象移动到新的imageView中时,targetSquare这会破坏我的格式。

伊沙哈克

您可以为新的ImageView提供原点的源LayoutParams:

targetSquare.setLayoutParams(sourceSquare.getLayoutParams);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章