#android #android-relativelayout
#Android #android-relativelayout
Вопрос:
Я добавил файл ресурсов относительного макета, и всякий раз, когда я перетаскиваю элемент, он устанавливается в верхний левый угол. Есть способ это исправить?
Вот этот код:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<Button
android:id="@ id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Switch
android:id="@ id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch" />
</RelativeLayout>
Ответ №1:
Вы можете добавить атрибут android:gravity="center"
для выравнивания дочерних элементов внутри RelativeLayout
. Это выровняет дочерние элементы по центру макета. Кроме того, вместо android:layout_centerInParent="true"
, вы можете использовать android:layout_alignParentTop="true"
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<!-- you need to align the button to a particular
place in the layout -->
<Button
android:id="@ id/button5"
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:layout_margin="10dp"/>
<!-- Then add layout_below/layout_above -->
<Switch
android:id="@ id/switch1"
android:layout_below="@id/button5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Switch Number 1"
android:layout_margin="10dp"/>
</RelativeLayout>
Вы также можете установить несколько значений : android:gravity="bottom|right"
. Это выровняет дочерние элементы по нижнему правому углу.
Последние слова: узнайте немного о RelativeLayout
том, как его можно использовать.
Комментарии:
1. Это не решает мою проблему. Теперь все элементы расположены друг на друге в центре, а не в верхнем левом углу.
2. Обновлено @Moataz.
3. По-прежнему не работает. У него все еще была та же проблема с простым наложением их друг на друга. Я нашел решение вчера или позавчера, но оно почти сделало весь вид «RelativeLayout» несуществующим. Idk в чем проблема.
4. Я уже добавил скриншот результата фрагмента кода, который я предоставил в ответе. Если вы используете те же коды, но результат отличается, я думаю, вы делаете это неправильно.