【问题标题】:DatePicker having a background有背景的 DatePicker
【发布时间】:2014-11-24 09:51:21
【问题描述】:

问题是我的日期选择器在日期选择器后面有一个难看的白色背景

我只是想让那个背景消失

这是我的代码

 public void selectDate(View view) {
    DialogFragment newFragment = new SelectDateFragment();
    newFragment.show(Master_.fragmentManager, "DatePicker");
}

public void populateSetDate(int year, int month, int day) {


        Birthdate.setText(year + "-" + month + "-" + day);

}

public class SelectDateFragment extends DialogFragment implements
        DatePickerDialog.OnDateSetListener {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final Calendar calendar = Calendar.getInstance();
        int yy = calendar.get(Calendar.YEAR);
        int mm = calendar.get(Calendar.MONTH);
        int dd = calendar.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog dialog =new DatePickerDialog(mActivity,R.style.jehadStyle, this, yy, mm, dd);  
    dialog.getDatePicker().setMaxDate(calendar.getTimeInMillis());  

    return dialog ;
    }

    public void onDateSet(DatePicker view, int yy, int mm, int dd) {
        populateSetDate(yy, mm + 1, dd);
    }
}

这是我的风格

 <style name="jehadStyle" parent="@android:style/Theme.Holo.Light.Dialog.NoActionBar">
    <item name="android:textColor">@android:color/black</item>

</style>

【问题讨论】:

  • 尝试用这个改变父值:@android:style/Theme.Translucent.
  • 这会使日期选择器变黑

标签: android android-styles android-datepicker


【解决方案1】:
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

将此添加到您的 DatePickerDialog

【讨论】:

  • 像旧 API 的魅力一样工作。至少使用 API23 -> 对话框背景变得完全透明 :s -> 不要从 API 21 开始使用它
  • @Tobliug:可以跨所有 API 工作的解决方案是什么?
  • @MehulJoisar 据我所知,所有 API 都没有解决方案。我对 API 级别使用不同的风格
【解决方案2】:

试试这样,

<style name="jehadStyle" parent="@android:style/Theme.Holo.Light.Dialog.NoActionBar">
        <item name="android:textColor">@android:color/black</item>
        <item name="android:background">@null</item>
    </style>

希望对你有帮助

【讨论】:

  • &lt;item name="android:windowBackground"&gt;@android:color/transparent&lt;/item&gt; 为我工作
【解决方案3】:
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

DatePickerDialog一起使用

【讨论】:

    【解决方案4】:

    试试这个

    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    

    在“返回对话框”上方添加这一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多