要實現Android深色模式適配,可以按照以下步驟進行:
<application
...
android:theme="@style/AppTheme">
...
</application>
DayNight主題會根據系統設置的亮/暗模式自動切換。
<style name="AppTheme" parent="Theme.AppCompat.Light">
...
</style>
在res/values-night文件夾下創建styles.xml文件,并定義AppTheme.Dark主題,用于暗色模式:
<style name="AppTheme" parent="Theme.AppCompat">
...
</style>
可以根據實際需求來定義不同的主題樣式。
<TextView
...
android:textColor="@color/text_color" />
在res/values/colors.xml文件中定義顏色資源:
<resources>
<color name="text_color">#000000</color>
</resources>
在res/values-night/colors.xml文件中定義暗色模式下的顏色資源:
<resources>
<color name="text_color">#FFFFFF</color>
</resources>
int nightModeFlags = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
if (nightModeFlags == Configuration.UI_MODE_NIGHT_YES) {
// 暗色模式
} else {
// 亮色模式
}
根據判斷結果來進行相應的UI調整或其他邏輯處理。
通過以上步驟,可以實現Android深色模式的適配。需要注意的是,部分Android版本可能對深色模式的支持不完善,因此在實現時需根據目標設備的系統版本進行適配。