android设置软件背景颜色,android – 如何永久更改应用程序的背景颜色
您可以使用Android共享首选项记住app的所选背景颜色.每次打开应用程序时,您都可以检查共享首选项的值并相应地应用颜色.使用所有其他活动将派生的公共基本活动类,并在“OnCreate”和“OnResume”方法中编写代码以读取共享偏好值并应用背景颜色.这种方式当您打开任何活动时选择背景颜色将是应用.尝试下面的代码,它经过测试和工作.BaseActivity类public class BaseA
您可以使用Android共享首选项记住app的所选背景颜色.每次打开应用程序时,您都可以检查共享首选项的值并相应地应用颜色.
使用所有其他活动将派生的公共基本活动类,并在“OnCreate”和“OnResume”方法中编写代码以读取共享偏好值并应用背景颜色.这种方式当您打开任何活动时选择背景颜色将是应用.
尝试下面的代码,它经过测试和工作.
BaseActivity类
public class BaseActivity extends ActionBarActivity {
private static final String PREFS_NAME="color_settings";
SharedPreferences prefsReader = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
prefsReader=getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
}
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
setBackgroundColor();
}
protected void setBackgroundColor()
{
int background_resource_id= prefsReader.getInt("background_resource_id",0);
View bgView= findViewById(R.id.main_container);
bgView.setBackgroundColor(getResources().getColor(background_resource_id));
}
protected void setCurrentBackgroundColor(int colorResourceId)
{
SharedPreferences.Editor editor=getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit();
editor.putInt("background_resource_id", colorResourceId);
editor.commit();
}
}
活动类
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//save the color resource value in shared pref
setCurrentBackgroundColor(R.color.red);
setContentView(R.layout.activity_main);
}
}
Colors.xml颜色列表
#FF33B5E5
#FFAA66CC
#FF99CC00
#FFFFBB33
#FFFF4444
#FF0099CC
#FF9933CC
#FF669900
#FFFF8800
#FFCC0000
更多推荐
所有评论(0)