2016-11-30 88 views
2

我面臨的問題在牛軋糖(API 24),該日曆未表示作爲微調然而,適當的工作,直到(API 23)。 我使用這種風格的Android牛軋糖不顯示日曆作爲噴絲視圖

<style name="MyDatePicker" parent="android:Widget.Material.DatePicker"> 
    <item name="android:datePickerMode">spinner</item> 
    <item name="android:calendarViewShown">false</item> 
</style> 
+0

嘗試改變父主題Holo淺色或深色全息喜 –

回答

0

嘗試改變父主題HOLO作爲替代材料的主題。

<style name="MyDatePicker" parent="android:Theme.Holo.Dark"> 
+0

卡蘭濱海它do't工作前功盡棄日曆不顯示微調視圖 – user3836154

+0

嘗試將此添加到xml'datePickerMode =「微調」 –

0

我發現的唯一方法是通過XML擴充它。我有一個DialogFragment,這裏是爲我的作品的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<layout xmlns:android="http://schemas.android.com/apk/res/android"> 
    <LinearLayout 
     android:orientation="vertical" android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <DatePicker 
      android:id="@+id/date_picker" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:datePickerMode="spinner" /> 

     <Button 
      android:id="@+id/ok" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="@android:string/ok" 
      style="@style/Cerhis.Widget.AppCompat.Button.Base" /> 

    </LinearLayout> 
</layout> 

public class DatePickerDialogFragment extends BaseDialogFragment { 

    ... 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     binding = DataBindingUtil.inflate(inflater, R.layout.date_picker_dialog, container, false); 

     final Calendar c = Calendar.getInstance(); 
     if(defaultDate != null) 
      c.setTime(defaultDate); 
     int year = c.get(Calendar.YEAR); 
     int month = c.get(Calendar.MONTH); 
     int day = c.get(Calendar.DAY_OF_MONTH); 

     binding.datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { 
      @Override 
      public void onDateChanged(DatePicker datePicker, int year, int month, int day) { 
       onDateSet(datePicker, year, month, day); 
      } 
     }); 

     if (!futurePossible) 
      binding.datePicker.setMaxDate(new Date().getTime()); 

     binding.ok.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       dismissWithUserInteraction(); 
       if (mListeners != null) { 
        for (DatePickerListener listener : mListeners) 
         listener.onDateSet(selectedDate, dialogId); 
       } 
      } 
     }); 

     return binding.getRoot(); 
    } 

    @NonNull 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     Dialog dialog = new Dialog(getContext(), R.style.Cerhis_Dialog); 
     if(dialog.getWindow() != null) 
      dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
     return dialog; 
    } 

    ... 
} 
相關問題