В документации Android есть информация о том, как поддерживать разные экраны

я есть средство выбора даты / времени, которое я хочу, чтобы они реагировали в соответствии с его расположением.

Рассмотрим в ландшафтном режиме:

Это идеальное размещение того, что я хочу. Однако, если я переключаю его в портретный режим, я получаю что-то вроде ниже: часть времени отсутствует.

Мой текущий код:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@color/DarkGrey" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal">

    <DatePicker
        android:id="@+id/custom_datePicker"
        android:calendarViewShown="false"
        android:layout_height="170dp"
        android:layout_width="wrap_content"
        android:layout_marginTop="-10dp"
        android:layout_marginBottom="-10dp" />

    <TimePicker
        android:id="@+id/custom_timePicker"
        android:layout_height="170dp"
        android:layout_width="wrap_content"
        android:layout_marginTop="-10dp"
        android:layout_marginBottom="-10dp" />

</LinearLayout>

<Button
    android:id="@+id/btnDone"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/Done"
    style="@style/Widget.AppCompat.Button.Colored"
    android:theme="@style/General.Button">
</Button>

</LinearLayout>

Изменение ориентации внутреннего LinearLayout на Vertical позволит добиться того, что я хочу для портретного режима, но это портит в ландшафтном режиме, и наоборот.

Какой альтернативный путь к этому? Можно ли программно изменять ориентацию макета всякий раз, когда переключается режим экрана?

Ответы на вопрос(2)

Ваш ответ на вопрос