Сделать кнопку прозрачной, а затем снова непрозрачной - PullRequest
0 голосов
/ 14 января 2012

У меня есть игра, в которой я использую 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;


    }

}

И самая крайняя правая кнопка исчезает (они находятся в строке, 1 слева, 12 справа).

Однако, когда я запускаю новую игру или когда впервые открывается действие, запускается этот код

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

Повторяется для каждого идентификатора. X буквально любого цвета (я пробовал с кучей разных). По какой-то причине, если этот код когда-либо выполняется, кнопка исчезает. Зачем? Если он не запускается, появляются 12 кнопок, но всякий раз, когда я запускаю новую игру, очевидно, что кнопки, которые исчезли из-за потери жизней, не возвращаются.

1 Ответ

1 голос
/ 14 января 2012

Для вашей задачи лучше использовать findViewById(R.id.id).setVisibility(View.Invisible) для исчезновения и 'findViewById (R.id.id) .setVisibility (View.Visible)' для возврата вида назад.

...