博主介绍:本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮助到您;
🍅点个关注不迷路!🍅
效果演示
一、styles.xml文件
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> </style> 说明:颜色一 <style name="DayTheme1" parent="AppTheme"> <item name="input_changetheme">@color/main_color</item> </style> 说明:颜色二 <style name="DayTheme2" parent="AppTheme"> <item name="input_changetheme">@color/actionsheet_blue</item> </style> 说明:颜色三 <style name="DayTheme3" parent="AppTheme"> <item name="input_changetheme">@color/swipe_green_light</item> </style> 说明:颜色四 <style name="DayTheme4" parent="AppTheme"> <item name="input_changetheme">@color/hint_kt_suc</item> </style>
二、application.java文件
public class Application extends Application {
private static FinanceApplication INSTANCE = null;
private static int MyTheme = 0;
@Override
public void onCreate() {
super.onCreate();
INSTANCE = this;
getLocalData();
}
public static int getLocalData() {
MyTheme = MemberUserUtils.getTheme(getInstance());
Log.i("pony_log",MyTheme+"");
return MyTheme;
}
public static int getThemeValue(){
return MyTheme;
}
public static void setThemeValue(int themeValue){
MyTheme = themeValue;
}
说明:设置主题信息
public static int getThemeResources(){
getLocalData();
switch (MyTheme){
case Theme.numnber1:
return Theme.DayTheme1;
case Theme.numnber2:
return Theme.DayTheme2;
case Theme.numnber3:
return Theme.DayTheme3;
case Theme.numnber4:
return Theme.DayTheme4;
default:
return Theme.DayTheme1;
}
}
public static synchronized FinanceApplication getInstance() {
return INSTANCE;
}
public void setUser(UserModel user) {
this.mUser = user;
}
public UserModel getUser() {
return this.mUser;
}
}
三、设置界面
mListMessage.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { /** * 设置主题 */ if((i+1)==1){ MemberUserUtils.setTheme(SetActivity.this,1); FinanceApplication.setThemeValue(Theme.DayTheme1); setTheme(Theme.DayTheme1); }else if((i+1)==2){ MemberUserUtils.setTheme(SetActivity.this,2); FinanceApplication.setThemeValue(Theme.DayTheme2); setTheme(Theme.DayTheme2); }else if((i+1)==3){ MemberUserUtils.setTheme(SetActivity.this,3); FinanceApplication.setThemeValue(Theme.DayTheme3); setTheme(Theme.DayTheme3); }else if((i+1)==4){ MemberUserUtils.setTheme(SetActivity.this,4); FinanceApplication.setThemeValue(Theme.DayTheme4); setTheme(Theme.DayTheme4); } ToastUtil.show(SetActivity.this, "设置成功"); new Handler().postDelayed(new Runnable() { @Override public void run() { Intent mtvSoft = new Intent(SetActivity.this, LoginActivity.class); SetActivity.this.startActivity(mtvSoft); SetActivity.this.finish(); } }, 2000); } });说明:设置完跳转到登录界面
四、界面主题的设置
setTheme(FinanceApplication.getThemeResources()); 说明:此信息可以设置到基类里面进行共用
五、布局xml文件
android:background="?attr/input_changetheme"
说明:需要设置背景的颜色样式
关注点赞
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻