Размер предварительного просмотра студии Android не совпадает с фактическим размером

В андроид студии у меня есть Spinner и текстовое поле в одной линейной разметке. Они оба имеют одинаковый вес в 1. В предварительном просмотре Android я получаю это, счетчик и текстовое поле имеют одинаковый размер

но когда я загружаю свое устройство, я на самом деле получаю крошечный вертушка и большое текстовое поле

Вот мой код

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="2"
    android:id="@id/linearLayout">

    <Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/spinner"
        android:spinnerMode="dialog"
        android:entries="@array/State"
        android:layout_marginTop="110sp"
        android:layout_weight="1"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:ems="999999999"
        android:layout_marginTop="130sp"
        android:layout_weight="1"/>

</LinearLayout>

2 ответа

Решение

Попробуй это:

<Spinner
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:id="@+id/spinner"
    android:spinnerMode="dialog"
    android:entries="@array/State"
    android:layout_marginTop="110sp"
    android:layout_weight="1"/>

<EditText
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal"
    android:ems="999999999"
    android:layout_marginTop="130sp"
    android:layout_weight="1"/>

Обратите внимание на android:layout_width="0dp",

Позвольте АРТ использовать весовые коэффициенты для распределения полей на основе вашего layout:weight ценности.

Удалить эту строку

 android:layout_marginTop="130sp"

это делает верхний край.

Некоторое время предварительного просмотра необходимо обновить переключатель между текстом и дизайном

Другие вопросы по тегам