Android Studio — проблемы с изменением размера кнопок

#android #xml #android-studio #button

#Android #xml #android-студия #кнопка

Вопрос:

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

Я использую относительный макет.

Вот XML-файл для одной из кнопок, которые я пытаюсь изменить:

 <Button
    android:text="√"
    android:id="@ id/button15"
    android:background="@drawable/operator_style"
    android:textAllCaps="false"
    android:fontFamily="sans-serif"
    android:textSize="24sp"
    android:textColor="#707070"
    android:layout_alignBaseline="@ id/buttonLog"
    android:layout_alignBottom="@ id/buttonLog"
    android:layout_alignStart="@ id/button8"
    android:elevation="0dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
 

И xml для стиля и форматирования кнопки (operator_style):

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true" >
    <shape>
        <solid
            android:color="#00C7FC" />
        <stroke
            android:width="4dp"
            android:color="#9FEDFF" />
        <corners
            android:radius="0dp" />
    </shape>
</item>
<item>
    <shape>
        <solid
            android:color="#cccccc" />
        <corners
            android:radius="0dp" />
        <elevation
            android:elevation="2dp" />
    </shape>
  </item>
</selector>
 

Ответ №1:

Разработка макетов в Android не так проста, как вы думаете, потому что каждое устройство Android имеет разный размер. Итак, все относительно друг друга. Вы можете заставить кнопку иметь определенный размер в пикселях, но при запуске вашего приложения на больших экранах этот размер останется точно таким же, как пиксель. Вы можете добиться этого, перейдя к свойствам кнопки и заполнив 100 пикселей вместо wrap_content или match_parent в качестве ширины. Я бы не рекомендовал этого, попробуйте использовать линейные макеты и другие контейнеры.

Используйте линейные макеты и поместите в них все нужные кнопки. Затем установите вес каждой кнопки, чтобы установить размер относительно друг друга. Если вам нужна только 1 кнопка, просто добавьте framelayout, и вы можете попробовать некоторые вещи с весом.

Комментарии:

1. Есть ли в Android Studio какие-либо настройки для обновления значений свойств кнопки при перетаскивании, чтобы изменить ее размер. Когда я перетаскиваю, чтобы изменить размер, он просто возвращается (так какой смысл в программном обеспечении, разрешающем это)