我正在使用Androids内置的日/夜模式功能,我想为我的应用添加一个选项 AppCompatDelegate.MODE_NIGHT_AUTO
我遇到了问题,因为我的应用程序需要以编程方式对某些内容进行着色,而我无法弄清楚如何检查应用程序是在夜间还是白天模式中考虑自己.没有它,我不能设置标志来选择正确的颜色.
调用AppCompatDelegate.getDefaultNightMode()只返回无用的AppCompatDelegate.MODE_NIGHT_AUTO.
我没有看到任何可以告诉我的东西,但一定有什么东西?
我有这样的活动:
package com.nkdroid.daynighttheme;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.AppCompatDelegate;
import android.widget.TextView;
public class ModeActivity extends AppCompatActivity {
private TextView txtModeType;
int modeType;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auto_mode);
txtModeType = (TextView) findViewById(R.id.txtModeType);
modeType = AppCompatDelegate.getDefaultNightMode();
if (modeType == AppCompatDelegate.MODE_NIGHT_AUTO) {
txtModeType.setText("Default Mode: Auto");
} else if (modeType == AppCompatDelegate.MODE_NIGHT_YES) {
txtModeType.setText("Default Mode: Night");
} else if (modeType == AppCompatDelegate.MODE_NIGHT_NO) {
txtModeType.setText("Default Mode: Day");
}
}
}`
Run Code Online (Sandbox Code Playgroud)
如果默认模式设置为AUTO,是否可以获得当前激活的模式(白天或夜晚)?