时间选择器对话框周围有空白的空间。

问题描述 投票:0回答:2

我试图为我的应用程序创建一个时间选择器......当将主题设置为----------------。Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth

我得到的结果是

enter image description here

我在对话框周围有一个空白的地方。

当我将它设置为使用父活动的主题时,这种情况没有发生,而父活动的主题是 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 android-layout android-alertdialog android-theme
2个回答
0
投票

改变。

 android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth

 AlertDialog.THEME_DEVICE_DEFAULT_LIGHT

 AlertDialog.THEME_HOLO_LIGHT

应该可以


1
投票

我知道这是个老问题,但这里有一个解决方案。

你可以在 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);
© www.soinside.com 2019 - 2024. All rights reserved.