繁体   English   中英

更改相邻ImageButtons(Android)中的图像

[英]Changing image in adjacent ImageButtons (Android)

所以我正在尝试为Android制作一款小游戏。 这是关于打开和关闭灯。 我有25个ImageButtons,当我按下一个时,我需要相邻的(向上,向左,向下,向右)也要改变。 问题是我无法找到获取/识别此按钮的方法。 我尝试使用“view.getX()”和“view.getY()”,但不知道如何以正确的方式实现它们(如果有的话)。 这是我用来更改ONE按钮的代码:

    public void change(View view)
{
    String state = view.getTag().toString();
    if (state.equals("on"))
    {
        view.setBackgroundDrawable(getResources().getDrawable(R.drawable.lightOff));
        view.setTag("off");
        lightsOn -= 1;
        txtNumLights.setText(String.valueOf(lightsOn));
    }
    if (state.equals("off")) {
        view.setBackgroundDrawable(getResources().getDrawable(R.drawable.lightOn));
        view.setTag("on");
        lightsOn += 1;
        txtNumLights.setText(String.valueOf(lightsOn));
    }
}

我使用标签知道它是开还是关,并设置一个带有ON灯数的txtView。 但是,到目前为止,我如何获得与此相邻的那些? 提前致谢。

您必须将按钮存储在二维数组上。

单击一个按钮时,可以在感兴趣的按钮上设置标记和背景。

伪代码:

If (button_matrix[row][column] is clicked) then
    Set_tag_background (button_matrix[row-1][column])
    Set_tag_background (button_matrix[row+1][column])
    Set_tag_background (button_matrix[row][column-1])
    Set_tag_background (button_matrix[row][column+1])
    Set_tag_background (button_matrix[row][column])
    ...

在实现上你应该注意不要生成ArrayOutOfBoundsException ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM