Я борюсь с проблемой макета на Android. Это очень просто сделать на iPhone, но с различными размерами экрана и классами Layout. Мне трудно это делать.
Одна вещь, которую я заметил, заключается в том, что настройка фона на объектах в xml действительно испортит макет на устройстве. Обычно мне нужно установить FrameLayout и ImageView для получения фона.
Итак, я пытаюсь добраться до этого. http://www.calidadsystems.com/images/AndroidListItem.png (Извините, у меня недостаточно очков, чтобы опубликовать изображение)
его вид состояния и является элементом в представлении списка. Есть 8 TextViews, которые необходимо установить. Каждое из 222 полей изменится. Текущий фон имеет цвета там в определенных местах, и я пытаюсь выстроить ярлыки и текстовые элементы, чтобы получить снимок ниже. Я построил этот с AbsoluteLayout, который устарел, но он также не очень хорошо работает на устройстве.
Я постоянно боролся с макетами на Android. У кого-нибудь есть хороший код примера, который может это сделать?
Почему бы не просто составить макет в макете таблицы и установить фон макета таблицы на выполненную вами графику? Это должно сработать с вами. В частности, дизайн вашего проекта будет похож на 4 столбца с x строк. Затем, используя свойство strechcolumn, вы сможете выполнить то, что вы пытаетесь сделать!
Если вы правильно масштабируете графику, вы не должны иметь эту проблему в целом.
Вероятно, вам захочется использовать RelativeLayout. Вы можете использовать атрибут android: layout_alignTop = "id", чтобы строки были правильно расположены. Android: layout_alignLeft = "id" для столбцов. Помимо этого, это просто игра с атрибутом android: layout_marginLeft = "XXdip", чтобы получить пространство между ними, как вы хотите. Ознакомьтесь с этой страницей для обзора и примеров всех типов макетов. Вот еще несколько примеров кода RelativeLayout. И еще одна страница с другим примером. RelativeLayout немного сложнее привыкнуть, но как только вы использовали его несколько раз, его довольно легко понять и получить макет, который вы хотите. Преимущество этого заключается в том, что ваши пользовательские интерфейсы выглядят неплохо на разных размерах экрана, когда вы определяете их таким образом.