Skip to content Skip to sidebar Skip to footer

Make Datepicker And Timepicker Smaller

Is there any way to make smaller DatePicker and TimePicker (but to be visible all parts ) in Android ? I tried to set layout_width='130dp' but then DatePicker isn't visible, just l

Solution 1:

Use properties follow:

Example smaller 80% original

android:scaleY="0.8"android:scaleX="0.8"

Solution 2:

(This actually works and others don't) After much searching this worked:

<DatePicker
    android:id="@+id/dp_datepicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleX="0.7"
    android:scaleY="0.7"
    android:layout_marginLeft="-30dp"
    android:layout_marginRight="-30dp"
    android:datePickerMode="spinner"
    />

<TimePicker
    android:id="@+id/tp_timepicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleX="0.7"
    android:scaleY="0.7"
    android:layout_marginLeft="-30dp"
    android:layout_marginRight="-30dp"
    android:timePickerMode="spinner"
    />

The android:scaleX="0.7" is what shrinked the visible picker (it works for DatePicker and TimePicker) and the android:layout_marginLeft="-30dp" allowed for the space to be reduced.

Note: All attempts at using android:padding="-30dp" did not work and using android:layout_margin="-30dp" (without a side specified) also did not work. Hopefully this helps those who were as lost as me

P.S. Google get your freaking DatePicker API fixed!

Solution 3:

Instead of using "dp" for the layout width , use percentages in weight to make it smaller. For android:layout_weight to be effective, put android:layout_width to 0 dip.

android:layout_height="wrap_content"

android:layout_weight=".33"

android:layout_width="0dip"

android:textSize="12sp"

Solution 4:

This worked for me to fit a date and time picker in a dialogue with a custom layout in landscape mode on a small screen. Set the weightsum of a container (LinarLayout) to 100 and then fill it with widgets adding up to 100 in layout_weight property.

<LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"android:weightSum="100"android:layout_gravity="center_horizontal"><DatePickerandroid:id="@+id/dlgDateTimePickerDate"android:layout_width="wrap_content"android:layout_weight="50"android:layout_height="wrap_content" /><TimePickerandroid:id="@+id/dlgDateTimePickerTime"android:layout_weight="50"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout>

Solution 5:

You can simple scale like this:

android:scaleY="0.5" android:scaleX="0.5"

to get the half of the size.

And to get a smaller padding, android:padding="-20dp"

Looking from the framework the picker may overlap other views, but in the app, it will not.

The padding is going to work perfectly and the buttons also.

Post a Comment for "Make Datepicker And Timepicker Smaller"