在res目录下新建values-night文件夹,在此目录下新建colors.xml和strings.xml文件
values-night文件中的代码是在values文件的基础上修改的,在下方进行对比
values中的colors.xml
<?xml version="1.0" encoding="utf-8"?>#009688
#00796B
#009688
#616161
@android:color/white
@android:color/holo_orange_dark
values-night中的colors.xml
<?xml version="1.0" encoding="utf-8"?>#35464e
#212a2f
#212a2f
#616161
#212a2f
@android:color/holo_blue_dark
values中的strings.xml
DayNight
日间模式
values-night中的strings.xml
DayNight
夜间模式
public class MainActivity extends AppCompatActivity {
private Button mDayNightChange;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDayNightChange = (Button) findViewById(R.id.day_night_change);
mDayNightChange.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int mode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
if (mode == Configuration.UI_MODE_NIGHT_YES) {
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
} else if (mode == Configuration.UI_MODE_NIGHT_NO) {
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
}
recreate();
}
});
}
}
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.AppCompatDelegate;
时可能会遇到报红或无法找到的问题,可以用下方的代码替代
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
总结
作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!
[外链图片转存中…(img-plCh3fnR-1714505436913)]
[外链图片转存中…(img-TBDG9Ij4-1714505436913)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!