使用操作栏活动选择更改屏幕颜色

时间:2015-05-22 04:53:35

标签: android

我正在创建一个针对诵读困难儿童的应用程序,我需要能够允许用户更改屏幕的背景颜色,例如阅读书籍等。

目前页面默认为淡黄色(诵读困难学生最常见的颜色),但我需要蓝色,绿色和紫色选项。 我想使用操作栏活动,因为我已经使用它来编辑和删除项目 - 所以我需要它来匹配应用程序的其余部分。

最好的方法是什么?

我是否必须使用我想要的背景颜色创建.xml文件,然后调用它们?或者有没有办法在页面代码中设置背景颜色?

谢谢

3 个答案:

答案 0 :(得分:1)

解决此问题的一种方法是创建一个允许用户选择颜色的首选项设置。然后,您可以保存他们在SharedPreferences中选择的颜色,并在整个应用程序中使用它,除非用户决定再次更改颜色。如果您没有保存他们选择的颜色,那么他们每次打开您的应用时都必须更改颜色,这是不可取的。您不需要创建一个xml文件或类似的东西。只需获取存储在SharedPreferences中的颜色代码,然后将其应用于onCreate()方法内的布局。例如:

    RelativeLayout mRelativeLayout = (RelativeLayout)findViewById(R.id.relativeLayout);
    SharedPreferences sharedPreferences = getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE);
    String colorValue= sharedPreferences.getString("color", "#ffffff");
    int colorAsInt = Color.parseColor(colorValue);
    mRelativeLayout.setBackgroundColor(colorAsInt);

答案 1 :(得分:0)

如果您想更改背景颜色,请参考您正在设置默认颜色的View。

View view=findViewById(R.id.backgroundView);
view.setBackgroundColor(Color.parseColor("#987789"));
view.setBackgroundColor(Color.BLUE);

答案 2 :(得分:0)

这可以通过为您的应用程序使用主题来实现,如果您在设置中更改主题,则背景颜色将自动反映到所有其他活动。
更多参考click here