-1

Есть ли макет, который позволяет форматировать объекты на xml таким образом, чтобы вы могли позиционировать кнопки и тексты везде, где хотите, и не изменять их по отношению к другим полям? Когда я попытался использовать relativelayout, это был кошмар, потому что перемещение одной коробки делало все остальное. Когда я попробовал linearlayout, (возможно, я использовал его неправильно, но я пробовал в течение двух часов). Я не мог перемещать коробки точно там, где я хотел, это было бы в общем направлении, но я не мог точно настроить размещение.Формат XML-формата

+0

Вы можете использовать комбинацию обоих :) – Paritosh

+0

Как слить их? В xml у меня будет 2 отдельных элемента linearlayout и relativelayout или они будут вложенными? – Sygnerical

+0

'все перемещается относительно друг друга, поэтому, если я перемещаю одну вещь, все остальное изменяется из-за относительной компоновки. ** ** НЕТ **. Все предметы должны быть размещены относительно контейнера и/или между ними. 'Когда я использую linearlayout, кнопки могут быть помещены только в сетку' ** NO **. Таким образом, все предметы размещаются. По горизонтали или по вертикали (по умолчанию), как вы указываете. –

ответ

1

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

Пожалуйста, обратите внимание, что есть огромного количества различных Android устройств на рынке, с другим экраном размеров и разрешений.

Ваш долг - адаптировать ваше приложение, чтобы он мог отлично работать во всех них.

В вашем случае я настоятельно рекомендую вам привыкнуть к RelativeLayout.

Нетрудно понять, как это работает.

Вы можете планировать, как Интерфейс пользователя и User Experience будет выглядеть перед тем создания экрана, так что если вам нужно внести какие-либо изменения в будущем вы можете свести к минимуму работу.

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

0

Вы можете использовать AbsoluteLayout. Этот макет позволяет вам указать координаты X/Y всех виджетов в макете.

Однако этот макет является одним из наименее гибких. Ваш экран будет привязан непосредственно к разрешению устройства, для которого он создан. Линейные и относительные макеты намного более гибкие, когда ваше приложение должно работать на различных телефонах/планшетах и ​​т. Д.

0

В соответствии с желаемой планировкой, которую вы описали в комментариях, я предлагаю следующее:

Использовать RelativeLayout или GridLayout, установите максимальное количество кнопок, которые понадобятся на нем, а затем показать или скрыть кнопки динамически параметр XML «Видимость» (метод класса - setVisibility) корневого класса View. Кнопки не будут отображаться, но удерживают их положение.

0

Это макет я использовал (1 одного RelativeLayout)

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/black" 
    > 
    <Button 
     android:id="@+id/btnCenter" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_centerInParent="true" 
     android:background="@drawable/ball" 
     android:text="Btn 0" 
     android:textColor="@android:color/white" 
     android:textSize="24sp" 
     android:textStyle="bold" 
    /> 
    <Button 
     android:id="@+id/btnTop" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_above="@id/btnCenter" 
     android:layout_alignLeft="@id/btnCenter" 
     android:background="@drawable/ball" 
     android:text="Btn 1" 
     android:textColor="@android:color/white" 
     android:textSize="24sp" 
     android:textStyle="bold" 
    /> 
    <Button 
     android:id="@+id/btnLeft" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_alignTop="@id/btnCenter" 
     android:layout_toLeftOf="@id/btnCenter" 
     android:background="@drawable/ball" 
     android:text="Btn 2" 
     android:textColor="@android:color/white" 
     android:textSize="24sp" 
     android:textStyle="bold" 
    /> 
    <Button 
     android:id="@+id/btnBottom" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_below="@id/btnCenter" 
     android:layout_alignLeft="@id/btnCenter" 
     android:background="@drawable/ball" 
     android:text="Btn 3" 
     android:textColor="@android:color/white" 
     android:textSize="24sp" 
     android:textStyle="bold" 
    /> 
    <Button 
     android:id="@+id/btnRight" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_alignTop="@id/btnCenter" 
     android:layout_toRightOf="@id/btnCenter" 
     android:background="@drawable/ball" 
     android:text="Btn 4" 
     android:textColor="@android:color/white" 
     android:textSize="24sp" 
     android:textStyle="bold" 
    /> 
</RelativeLayout> 

Чтобы получить эту "сетку", так дизайн

enter image description here

не оптимизирована, я должен использовать стиль для общих символов кнопок.

Чтобы добавить еще 4 кнопки, это не имеет большого значения.
Ключевые слова: О Relativity.

Обратите внимание, как я установил соответствующие атрибуты, чтобы выровнять все кнопки к центральному.

В любом случае, есть цифры в этих кнопках, вы видите.
Более чем достаточно для вашего запроса 1, 2 или 3 цифры.

Смежные вопросы