java - 如何根据用户输入更改 Android 应用程序的背景颜色?

标签 java android colors background background-color

我的应用程序有三种难度模式;简单、中等和困难。我有一个变量来跟踪难度 (0-2)。如何使用此变量来更改应用程序的背景颜色?例如,当模式为简单时,我希望背景为绿色,黄色为中等,红色为困难。

这是我的布局。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/myBackground" >

</RelativeLayout>

我有字符串资源:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="myBackground">#01CC18</color>
</resources>

但是,我想要做的是能够在程序本身而不是 xml 布局中更改背景。这可以吗?

最佳答案

使用 LinearLayout 填充主视图。然后获取此布局的句柄:

LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1);

每当难度发生变化时,您都可以使用此句柄来更新背景颜色:

switch(difficulty) {
case 0:
    layout.setBackgroundColor(android.R.color.green);
    break;
case 1:
    layout.setBackgroundColor(android.R.color.orange);
    break;
case 2:
    layout.setBackgroundColor(android.R.color.red);
    break;
default:
    break;
}

关于java - 如何根据用户输入更改 Android 应用程序的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9072523/

相关文章:

macos - emacs 上带有日晒深色主题的意外颜色(蓝色背景)

java - "%%"在Java中是什么意思?

java - 如何比较 Ruta 规则中两个不同注释的特征?

android - onDraw() 自定义 View 的高效设计

android - 捕获图像并动态添加到 GridView

android - android 上存储的所有共享库在哪里?

java - 如何使用 LOG4J 将不同级别的特定类记录到不同的附加程序

java - C++/Openssl 从编码字节中获取 RSA key (由 java 编码)

html - 未应用 CSS 字体颜色样式

python - 将操纵杆轴值转换为十六进制三元组代码