在Android中移动drawable时遇到问题

时间:2015-03-12 02:58:10

标签: java android android-layout imageview android-drawable

我在使用某些代码时出现问题,我只需点击两个imageViews(一个包含源图像,然后是目标),就可以将imageView的drawable移动到另一个imageView imageView)接连。

目标是模拟棋盘。

我的开始显示如下:enter image description here

点击最左边的棋子然后直接点击它前面的方块,结果如下。您将看到目标imageView(第一列第3行)正在丢失其水平边界定义并在整个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变量以某种方式抓取太多或太少的信息,当我将该drawable移动到新的imageView targetSquare时,这会破坏我的格式。

1 个答案:

答案 0 :(得分:1)

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

targetSquare.setLayoutParams(sourceSquare.getLayoutParams);