Подтвердить что ты не робот

Сделать DatePicker и TimePicker меньше

Есть ли способ сделать меньший DatePicker и TimePicker (но быть видимым во всех частях) в Android? Я попытался установить layout_width = "130dp", но тогда DatePicker не отображается, только левый верхний угол.

4b9b3361

Ответ 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 вручную