我是一名新的Android开发人员,我正在开发一个项目,我希望在我的某个应用程序的设置中将自定义颜色主题作为选项。我有四个复选框,称为checkBox1,checkBox2,checkBox3,checkBox4。我的styles.xml文件中还有四个自定义样式,称为theme1,theme2,theme3,theme4。这是关于处理这些CheckBox的onClick的我的.java文件编码:
checkBoxListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(blueCheckBox.isChecked()){
//Change theme to blue
}
if(redCheckBox.isChecked()){
//Change theme to red
}
if(greenCheckBox.isChecked()){
//Change theme to green
}
if(bwCheckBox.isChecked()){
//Change theme to Black & White
}
}
};
blueCheckBox.setOnClickListener(checkBoxListener);
redCheckBox.setOnClickListener(checkBoxListener);
greenCheckBox.setOnClickListener(checkBoxListener);
bwCheckBox.setOnClickListener(checkBoxListener);
}
如何将整个应用程序的样式设置为我在这些if语句的主体中的相应自定义声明样式?感谢您的时间,感谢您提供的任何帮助。
答案 0 :(得分:2)
为此,您必须在/style/
例如:
<resources>
<style name="LightTheme" parent="@android:style/Theme.Light">
</style>
<style name="BlackTheme" parent="@android:style/Theme.Black">
</style>
</resources>
在java方面你可以像......一样使用它。
if (lightThemeCheckBox.isChecked()) {
getApplication().setTheme(R.style.LightTheme);
} else {
getApplication().setTheme(R.style.BlackTheme);
}
我希望这会对你有所帮助。
更多访问此链接: http://www.anddev.org/applying_a_theme_to_your_application-t817.html
答案 1 :(得分:0)
您好您可以通过将CheckBox的背景设置为以下来为Checkbox提供按钮:
代码下方是Checkbox的背景xml文件:名称为checkbox_selection.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/check_active_320" android:state_checked="true" android:state_focused="true"/>
<item android:drawable="@drawable/check_inactive_320" android:state_checked="false" android:state_focused="true"/>
<item android:drawable="@drawable/check_inactive_320" android:state_checked="false"/>
<item android:drawable="@drawable/check_active_320" android:state_checked="true"/>
在这里,您发现当用户在CheckBox上选中时,有一个可绘制的资源,例如check_active_320,而没有选中Checkbox的check_inactive_320.
将上述xml设置为CheckBox的代码如下:
<CheckBox
android:id="@+id/radioread"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textread"
android:layout_alignBottom="@+id/textread"
android:layout_alignParentRight="true"
android:layout_marginRight="15dp"
android:button="@drawable/checkbox_selection"
android:focusable="false" />
在这里你可以找到android:按钮作为我们风格的价值。