Make Datepicker And Timepicker Smaller
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"