2015-10-12 4 views
0

Я пытался создать «Броненосец-макет», где у вас есть не только ваше поле, но и поле вашего врага на одном экране. Я долго пробовал каким-то образом заставить его работать со столом. Дело в том, что я начал сомневаться, что даже использовал правильный макет для моей конкретной потребности. Это университетский проект, поэтому моя главная цель - научиться чему-то. (В моем случае, как обращаться с файлами xml, так как я никогда не использовал их раньше) Проблемы с моим текущим расположением. http://imgur.com/cz8r1H3Макет для Броненосец-игры. Как реализовать «сеть»

1) Это не относительный, что означает, что в зависимости от дисплея у вас есть большое или маленькое поле битвы.

2) Я добавил изображение Кнопки, их высота хорошо работает, если вы добавляете изображение, их ширина взрывается до конца строки, так как кажется, что родительский элемент не является квадратом, а строкой.

3) квадраты aren t фактически квадраты.

4) Кажется, я не могу исправить ряд столбцов и строк?

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

Теперь я знаю, как использовать Google, адаптеры и раздувать термины, которые я прочитал несколько раз. Но поскольку ни я, ни мои коллеги не знают, в каком направлении идти, я любезно прошу вас. Что мне делать, читать и делать, чтобы решить мою текущую проблему?

ответ

0

Вы попробовали GridView?

Для вашего требования,

(1): GridView можно изменить количество столбцов с помощью кода динамически (количество строк будет определяться автоматически по количеству элементов адаптера есть). Итак, если вы измеряете размер экрана и каждый ImageButton, вы можете рассчитать соответствующие строки и столбцы.

myGridView.setNumColumns(3); 

(2): ширина может быть расширена до конца строки с помощью опции android:layout_width="match_parent". В прикрепленном изображении вы можете получить код ниже.

<!-- root --> 
<LinearLayout android:layout_width="match_parent" android:layout_width="wrap_content"> 
    <!-- left side --> 
    <GridView android:layout_width="match_parent" android:layout_width="wrap_content" android:layout_weight="1" /> 
    <!-- right side --> 
    <GridView android:layout_width="match_parent" android:layout_width="wrap_content" android:layout_weight="1" /> 
</LinearLayout> 

(3): Я рекомендую вам отрегулировать высоту макета программно. Или просто используйте layout_widht="wrap_content" в каждом GridLayout, а затем отрегулируйте отступы и значение маржи ImageButton height. Это даст вам более визуальный результат. В общем, для вычисления по пикселю и для точного значения требуется много проб и ошибок, но трудно дать удовлетворительный результат. Если вы не хотите показывать изменение макета для пользователя, вы можете переключить видимость INVISIBLE и VISIBLE каждого GridLayout.

(4): GridView поможет вам. Он может принимать adapter.

+0

Не самый быстрый в таких вещах. Спасибо за такую ​​разработку! Я отвечу на то, как он работал, как только я его проверил. Приветствие –

+0

В конце концов я сделал это с атрибутом веса и высотой установки до 0. Поскольку наши требования к проекту изменились (больше нет разных размеров Battlefields). Большое спасибо за ваш ответ. Я очень ценю это! Приветствия –

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