2015-09-18 2 views
4

Im работает над приложением, которому нужно ввести дату истечения срока действия кредитной карты, но andorid 5.0+ date time picker имеет только варианты выбора даты с днями. Есть ли какая-нибудь библиотека для этого, потому что я не могу найти ее. Я также не нашел ничего в руководстве по материальному дизайну.Android только месяц и год сборщик в материальном дизайне

Thx

+0

Создать 2 отдельный счетчик один с месяца стоимостью и другой, по меньшей мере, 25 лет значения. Вы можете добавить массив создания за месяц и год и раздуть его на прядильщики. – ch3tanz

+0

См. Http://stackoverflow.com/questions/21321789/android-datepicker-change-to-only-month-and-year – headuck

+0

Ни один из этих ответов не подходит для приложения для создания материалов ... –

ответ

0

Пожалуйста, попробуйте этот

 Field f[] = picker.getClass().getDeclaredFields(); 
    for (Field field : f) { 
     if (field.getName().equals("mDayPicker")) { 
      field.setAccessible(true); 
      Object dayPicker = new Object(); 
      dayPicker = field.get(picker); 
      ((View) dayPicker).setVisibility(View.GONE); 
     } 
    } 
} 
catch (SecurityException e) { 
    Log.d("ERROR", e.getMessage()); 
} 
catch (IllegalArgumentException e) { 
    Log.d("ERROR", e.getMessage()); 
} 
catch (IllegalAccessException e) { 
    Log.d("ERROR", e.getMessage()); 
} 

вы можете попробовать это

DatePicker dpDate = (DatePicker) findViewById(R.id.dpDate); 

// Initialize Date Picker 
int year = dpDate.getYear(); 
int month = dpDate.getMonth(); 
int day  = dpDate.getDayOfMonth(); 
dpDate.init(year, month, day, this); 

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
     { 
      int daySpinnerId = Resources.getSystem().getIdentifier("day", "id", "android"); 
      if (daySpinnerId != 0) 
      { 
       View daySpinner = dpDate.findViewById(daySpinnerId); 
       if (daySpinner != null) 
       { 
        daySpinner.setVisibility(View.GONE); 
       } 
      } 
     } 

     if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
     { 
      int monthSpinnerId = Resources.getSystem().getIdentifier("month", "id", "android"); 
      if (monthSpinnerId != 0) 
      { 
       View monthSpinner = dpDate.findViewById(monthSpinnerId); 
       if (monthSpinner != null) 
       { 
        monthSpinner.setVisibility(View.GONE); 
       } 
      } 
     } 

     if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
     { 
      int yearSpinnerId = Resources.getSystem().getIdentifier("year", "id", "android"); 
      if (yearSpinnerId != 0) 
      { 
       View yearSpinner = dpDate.findViewById(yearSpinnerId); 
       if (yearSpinner != null) 
       { 
        yearSpinner.setVisibility(View.GONE); 
       } 
      } 
     } 

для получения более подробной информации

Hide Day, Month, or Year from DatePicker in Android 5.0+ Lollipop

+1

Это решение для выбора даты, но не для официального выбора даты. –

1

Пошел ahea d, создав модифицированный выбор даты, называемый Simple Date picker ... использовал код, похожий на Date Picker, только чтобы показать месяц и год. Вы также можете предоставить свою собственную тему SimpleDatePickerDialog.

см https://github.com/resengupta/Month-Year-Date-Picker

+1

Да Я нашел такую ​​библиотеку, но это не в материальном дизайне :( –

Смежные вопросы