Note that there are some explanatory texts on larger screens.

plurals
  1. POsetBackgroundColor in android
    primarykey
    data
    text
    <p><img src="https://i.stack.imgur.com/bRkji.png" alt="enter image description here"></p> <p>In this simple game I want to change the background color of the button that I press. But I get the following result, the buttons appearance becomes not good (the shape becomes different):</p> <pre><code>pressedButton.setBackgroundColor(Color.RED); </code></pre> <p>Is there a nicer way to do that? Thanks.</p> <p>[Edit: my full code]</p> <pre><code>package com.example.xo_game; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { Button[] btns; char[][] gameState = new char[3][3]; char turn = 'X'; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button[] btns = new Button[9]; btns[0] = (Button) findViewById(R.id.btn1); btns[1] = (Button) findViewById(R.id.btn2); btns[2] = (Button) findViewById(R.id.btn3); btns[3] = (Button) findViewById(R.id.btn4); btns[4] = (Button) findViewById(R.id.btn5); btns[5] = (Button) findViewById(R.id.btn6); btns[6] = (Button) findViewById(R.id.btn7); btns[7] = (Button) findViewById(R.id.btn8); btns[8] = (Button) findViewById(R.id.btn9); for (int i = 0; i &lt; 9; i++) { btns[i].setTag(i); btns[i].setOnClickListener(clickListener); gameState[i / 3][i % 3] = 'E'; } } View.OnClickListener clickListener = new View.OnClickListener() { public void onClick(View v) { Button pressedButton = (Button) v; int indexOfPressedButton = Integer.parseInt(pressedButton.getTag() .toString()); int row = indexOfPressedButton / 3; int col = indexOfPressedButton % 3; if (gameState[row][col] != 'E') return; gameState[row][col] = turn; String turnAsString = String.valueOf(turn); pressedButton.setText(turnAsString); if (turn == 'X') { pressedButton.setBackgroundColor(Color.RED); turn = 'O'; } else { pressedButton.setBackgroundColor(Color.GREEN); turn = 'X'; } } }; @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload