android - Dialog 打开时的深色状态栏图标
问题描述
我有这种风格的活动:
<style name="CustomStyle" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">@color/statusbar_bg_color</item>
<item name="android:windowBackground">@color/app_background</item>
<item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
</style>
它显示深色状态栏图标,但是当我显示对话框时,图标会将颜色变为浅色。
我的对话框的风格是:
<style name="CustomStyleDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@drawable/round_corner_dialog</item>
<item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
</style>
我需要更改什么以使图标始终保持黑暗?
这是我的清单
<activity
android:name=".activities.FirstActivity"
android:screenOrientation="portrait"
android:theme="@style/CustomStyle" />
<activity
android:name=".dialogs.FirstDialog"
android:screenOrientation="portrait"
android:theme="@style/CustomStyleDialog" />
对话框构建器(CustomDatepicker 是一个扩展 DatePickerDialog 的类)
日期选择器
private void showDatePickerDialog(Date starDate, int titleResId) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(starDate);
CustomDatePicker datePickerDialog = new CustomDatePicker(this, this, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
datePickerDialog.setTitle(titleResId);
datePickerDialog.show();
}
警报
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.delete_title)
.setMessage(getResources().getString(R.string.delete_confirmation))
.show();
解决方案
我认为您只需要深色图标,请使用以下示例代码
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert_dark)
.setTitle(R.string.confirm_title)
.setMessage(R.string.confirm_text)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
android.R.drawable.ic_dialog_alert_dark
用你想要的深色图标替换它
推荐阅读
- python-3.x - Pandas 数据帧时间序列:获取给定行(日期)范围内的最大列值
- python - 合并基于公共键值但具有列表嵌套字典的字典列表
- javascript - 在传单地图上绘制 SharePoint 列表数据
- r - 如何从列表中查找包含任何字符串的行并将匹配的字符串存储为新列?
- php - Laravel 在 csrf 令牌正确的 POST 请求中抛出 419
- javascript - 使用子组件从父级清除状态
- visual-studio - Visual Studio 和代码无法识别 NuGet 安装包 I
- python - Django 查看订单历史
- user-interface - 将 amazon lex 聊天机器人托管为桌面应用程序
- logging - vscode 在终端上打印太多日志