【发布时间】:2018-11-13 01:55:20
【问题描述】:
在我创建井字游戏的 android 应用程序中,我有以下代码玩家 2 将文本设置为 O 以供他们选择不同的颜色。
@Override
public void onClick(View v) {
if (!((Button) v).getText().toString().equals("")) {
return;
}
if (playerOneMove) {
((Button) v).setText("X");
((Button) v).setTextColor(Color.parseColor("#e8e5e5"));
} else {
((Button) v).setText("O");
((Button) v).setTextColor(Color.parseColor("#737374"));
}
...
}
我有一个问题,它与我旋转屏幕的时间有关。当我旋转屏幕时,X 和 O 的文本都变为 android studio 提供的默认文本颜色。我想保留这些文本的颜色,但我不知道该怎么做?我确保没有设置全局文本颜色。
下面是我处理方向变化的代码:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean("playerOneMove", playerOneMove);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
playerOneMove = savedInstanceState.getBoolean("playerOneMove");
}
【问题讨论】:
-
尝试使用颜色资源中的颜色。使用 xml 颜色文件,然后使用
((Button) v).setTextColor(R.color.your_color)设置颜色 -
@SystemGlitch 我已经按照你说的设置了颜色,但问题仍然存在
标签: java android configuration