2016-11-20 1 views
0

Je travaille actuellement sur une application qui affiche un DatePicker dans un fragment. Bien que lorsque j'essaie d'afficher le sélecteur de date dans la mise en page xml suivante, il affiche le sélecteur de date avec de grandes lacunes de chaque côté lors de la visualisation sur une tablette. (photo: Datepicker ).

Y at-il de toute façon que la taille des sélecteurs de date peut être augmentée afin qu'elle remplisse une plus grande partie de l'écran ou est-ce juste la taille par défaut pour la datepicker définie par android? DatePicker n'utilisant pas tout l'espace de l'écran dans android

<DatePicker 
     android:id="@+id/dialog_date_date_picker" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:calendarViewShown="false"/> 

</LinearLayout> 

Mon code de mise en œuvre:

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    Date date = (Date) getArguments().getSerializable(ARG_DATE); 

    Calendar calendar = Calendar.getInstance(); 
    calendar.setTime(date); 
    int year = calendar.get(Calendar.YEAR); 
    int month = calendar.get(Calendar.MONTH); 
    int day = calendar.get(Calendar.DAY_OF_MONTH); 
    final int hour = calendar.get(Calendar.HOUR); 
    final int minute = calendar.get(Calendar.MINUTE); 

    View view = LayoutInflater.from(getActivity()) 
      .inflate(R.layout.datepicker_masterdetail, null); 

    mDatePicker = (DatePicker) view.findViewById(R.id.dialog_date_date_picker); 
    mDatePicker.init(year, month, day, null); 

    return new AlertDialog.Builder(getActivity()) 
      .setView(view) 
      .setTitle(R.string.date_picker_title) 
      .setPositiveButton(android.R.string.ok, 
        new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          int year = mDatePicker.getYear(); 
          int month = mDatePicker.getMonth(); 
          int day = mDatePicker.getDayOfMonth(); 
          Date date = new GregorianCalendar(year, month, day, hour, minute).getTime(); 
          sendResult(Activity.RESULT_OK, date); 
         } 
        }) 
      .create(); 
} 

Répondre

0

Essayez this.You peut jouer avec android:scaleX et android:scaleY que chaque valeur correspond à vos besoins. aller avec.

<DatePicker 
     android:id="@+id/dialog_date_date_picker" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleX="0.60" 
     android:scaleY="0.60" 
     android:calendarViewShown="false"/>