Timepicker 对话框周围的空白白色 space
Blank white space around Timepicker dialog
我正在尝试为我的应用程序创建一个时间选择器..
并将主题设置为 Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth
我得到这个输出
我在对话框
周围一片空白 space
当我将它设置为使用父 activity 的主题 appcompat.noactionbar
时,这并没有发生
//not happening here
return new TimePickerDialog(getActivity(),this, hour, minute,is24HourView );
这是我的时间选择器代码
public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
//Use the current time as the default values for the time picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
boolean is24HourView=true;
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String formattedTime = sdf.format(c.getTime());
Log.d("time", formattedTime);
//Create and return a new instance of TimePickerDialog
// return new TimePickerDialog(getActivity(),this, hour, minute,is24HourView );
return new TimePickerDialog(getActivity(), android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth,this, hour, minute,is24HourView );
}
变化:
android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth
和
AlertDialog.THEME_DEVICE_DEFAULT_LIGHT
或
AlertDialog.THEME_HOLO_LIGHT
它应该有效
我知道这是旧的,但这里有一个解决方案。
您可以在 styles.xml
中创建一个自定义主题,将您选择的主题作为父主题,并将其 android:windowBackground
属性设置为 @android:color/transparent
:
<style name="TimePickerDialogStyle" parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar.MinWidth">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
然后将您的自定义主题传递给 TimePickerDialog
构造函数:
new TimePickerDialog(getActivity(), R.style.TimePickerDialogStyle, this, hour, minute, is24HourView);
我正在尝试为我的应用程序创建一个时间选择器..
并将主题设置为 Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth
我得到这个输出
我在对话框
周围一片空白 space当我将它设置为使用父 activity 的主题 appcompat.noactionbar
//not happening here
return new TimePickerDialog(getActivity(),this, hour, minute,is24HourView );
这是我的时间选择器代码
public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
//Use the current time as the default values for the time picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
boolean is24HourView=true;
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String formattedTime = sdf.format(c.getTime());
Log.d("time", formattedTime);
//Create and return a new instance of TimePickerDialog
// return new TimePickerDialog(getActivity(),this, hour, minute,is24HourView );
return new TimePickerDialog(getActivity(), android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth,this, hour, minute,is24HourView );
}
变化:
android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth
和
AlertDialog.THEME_DEVICE_DEFAULT_LIGHT
或
AlertDialog.THEME_HOLO_LIGHT
它应该有效
我知道这是旧的,但这里有一个解决方案。
您可以在 styles.xml
中创建一个自定义主题,将您选择的主题作为父主题,并将其 android:windowBackground
属性设置为 @android:color/transparent
:
<style name="TimePickerDialogStyle" parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar.MinWidth">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
然后将您的自定义主题传递给 TimePickerDialog
构造函数:
new TimePickerDialog(getActivity(), R.style.TimePickerDialogStyle, this, hour, minute, is24HourView);