2016-11-20 5 views
0

Ich arbeite derzeit an einer Anwendung, die einen DatePicker in einem Fragment anzeigt. Obwohl, wenn ich versuche, den Datepicker innerhalb des folgenden XML-Layouts anzuzeigen, wird der Datepicker mit großen Lücken auf beiden Seiten angezeigt, wenn er auf einem Tablet angezeigt wird. (Bild: Datepicker ).

Gibt es auf jeden Fall, dass die Größe der Datumsauswahl erhöht werden kann, so dass es einen größeren Teil des Bildschirms füllt oder ist dies nur die Standardgröße für den Datumsauswahl von Android? DatePicker nutzt nicht den gesamten Bildschirmplatz in Android

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

</LinearLayout> 

Mein Implementierungscode:

@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(); 
} 

Antwort

0

Versuchen this.You mit android:scaleX rumspielen und android:scaleY denen jeder Wert mit Ihrem Bedarf paßt. geh mit ihm.

<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"/> 
Verwandte Themen