j j*_*nes 2 android android-dialog android-timepicker
我的自定义对话框中有一个时间选择器。结果是:
这是我的代码:
<style name="DialogStyler2" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:background">#FFFFFF</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:windowNoTitle">true</item>
</style>
final Dialog dialog = new Dialog(SabadKharid_s1.this, R.style.DialogStyler2);
dialog.setContentView(R.layout.dialogtime);
timePicker = (TimePicker) dialog.findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialog.show();
dialog.getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
如您所见,textView标题中的小时和分钟为白色。如何更改其背景颜色?
如果您更改“背景”而不是“ windowBackground”的颜色,则会发生这种情况。这为我工作:
styles.xml
<style name="DialogTheme" parent="Theme.AppCompat.Dialog">
<item name="android:windowBackground">#333</item>
<item name="colorAccent">#2BF</item>
</style>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
Calendar cal = Calendar.getInstance();
TimePickerDialog tpd = new TimePickerDialog(
this,
R.style.DialogTheme,
this, // must implement TimePickerDialog.OnTimeSetListener
cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE),
false);
tpd.show();
Run Code Online (Sandbox Code Playgroud)
背景不起作用,试试这个 -
<style name="DialogStyler2" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:colorAccent">@color/your_accent</item>
<item name="android:colorPrimary">@color/your_primary</item>
<item name="android:colorPrimaryDark">@color/your_primary_dark</item>
</style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2691 次 |
| 最近记录: |