Есть ли способ сделать меньший DatePicker и TimePicker (но быть видимым во всех частях) в Android? Я попытался установить layout_width = "130dp", но тогда DatePicker не отображается, только левый верхний угол.
Сделать DatePicker и TimePicker меньше
Ответ 1
Используйте следующие свойства:
Пример меньше 80% оригинала
android:scaleY="0.8"
android:scaleX="0.8"
Ответ 2
(Это действительно работает, а другие нет) После долгих поисков это сработало:
<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"
/>
android:scaleX="0.7"
- это то, что уменьшило видимый подборщик (оно работает для DatePicker
и TimePicker
), а android:layout_marginLeft="-30dp"
допускает сокращение пространства.
Примечание:
Все попытки использования android:padding="-30dp"
не работали, и использование android:layout_margin="-30dp"
(без указания стороны) также не помогло. Надеюсь, это поможет тем, кто потерялся, как я.
P.S. Google установил ваш фиктивный API DatePicker!
Ответ 3
Вместо того, чтобы использовать "dp" для ширины макета, используйте проценты по весу, чтобы уменьшить его. Для android: layout_weight, чтобы быть эффективным, установите android: layout_width в 0 dip.
android:layout_height="wrap_content"
android:layout_weight=".33"
android:layout_width="0dip"
android:textSize="12sp"
Ответ 4
Это сработало для меня, чтобы установить дату и время в диалоговом режиме с настраиваемым макетом в альбомном режиме на маленьком экране. Задайте вес контейнера (LinarLayout) до 100 и затем заполните его виджетами, добавляя до 100 в свойстве layout_weight.
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="100"
android:layout_gravity="center_horizontal">
<DatePicker
android:id="@+id/dlgDateTimePickerDate"
android:layout_width="wrap_content"
android:layout_weight="50"
android:layout_height="wrap_content" />
<TimePicker
android:id="@+id/dlgDateTimePickerTime"
android:layout_weight="50"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Ответ 5
Вы можете просто масштабироваться следующим образом:
android:scaleY="0.5"
android:scaleX="0.5"
чтобы получить половину размера.
И чтобы получить меньшее дополнение, android:padding="-20dp"
Глядя из рамки, сборщик может перекрывать другие виды, но в приложении он не будет.
Отступы будут работать отлично, а кнопки тоже.
Ответ 6
Другое решение:
Поместите его в LinearLayout
и установите высоту LinearLayout
вручную