使一个按钮透明,然后在android中再次不透明

时间:2012-01-14 14:01:27

标签: android transparent setbackground findviewbyid

我有一个游戏,我使用12个没有文字的按钮来显示生活。每次他们失去生命,都会运行此代码

public void guessesRemainingDisplay(int numberOfGuesses) {

    int guessesRemaining;

    guessesRemaining = maximumGuesses + 1 - numberOfGuesses;

    switch(guessesRemaining) {

    case 1:

        findViewById(R.id.Guess1).setBackgroundColor(color.transparent);
        break;

    case 2:
        findViewById(R.id.Guess2).setBackgroundColor(color.transparent);
        break;

    case 3:
        findViewById(R.id.Guess3).setBackgroundColor(color.transparent);
        break;

    case 4:
        findViewById(R.id.Guess4).setBackgroundColor(color.transparent);
        break;

    case 5:
        findViewById(R.id.Guess5).setBackgroundColor(color.transparent);
        break;

    case 6:
        findViewById(R.id.Guess6).setBackgroundColor(color.transparent);
        break;

    case 7:
        findViewById(R.id.Guess7).setBackgroundColor(color.transparent);
        break;

    case 8:
        findViewById(R.id.Guess8).setBackgroundColor(color.transparent);
        break;

    case 9:
        findViewById(R.id.Guess9).setBackgroundColor(color.transparent);
        break;

    case 10:
        findViewById(R.id.Guess10).setBackgroundColor(color.transparent);
        break;

    case 11:
        findViewById(R.id.Guess11).setBackgroundColor(color.transparent);
        break;

    case 12:
        findViewById(R.id.Guess12).setBackgroundColor(color.transparent);
        break;


    }

}

最右边最右边的按钮消失了(它们在一条线上,右边的左边12个)。

但是,当我开始新游戏或活动首次打开时,此代码将运行

findViewById(R.id.Guess1).setBackgroundColor(color.X);

对每个id重复。 X实际上是任何颜色(我已尝试过不同的颜色)。出于某种原因,如果运行此代码,该按钮将消失。为什么?如果没有运行,会出现12个按钮,但每当我开始一个新游戏时,显然由于失去生命而消失的按钮不会再回来。

1 个答案:

答案 0 :(得分:1)

对于你的任务,最好使用findViewById(R.id.id).setVisibility(View.Invisible)消失,使用'findViewById(R.id.id).setVisibility(View.Visible)'返回视图。