设置样式
屏幕截图(97).png
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.DayNight"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style></resources>
布局文件
屏幕截图(98).png
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="夜间模式" /> <Switch android:id="@+id/switch1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
业务逻辑代码实现
屏幕截图(99).png
class MainActivity : AppCompatActivity() { companion object { init {AppCompatDelegate.setDefaultNightMode( AppCompatDelegate.MODE_NIGHT_NO)} } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) switch1.setOnCheckedChangeListener { compoundButton, b -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)//调用recreate()使设置生效 recreate() } } }
按照箭头操作
屏幕截图(100).png
成功启动夜间模式
屏幕截图(101).png
作者:莫狄
链接:https://www.jianshu.com/p/9b7c2a457d6a