Android-макет поверх изображения

1

Я борюсь с проблемой макета на Android. Это очень просто сделать на iPhone, но с различными размерами экрана и классами Layout. Мне трудно это делать.

Одна вещь, которую я заметил, заключается в том, что настройка фона на объектах в xml действительно испортит макет на устройстве. Обычно мне нужно установить FrameLayout и ImageView для получения фона.

Итак, я пытаюсь добраться до этого. http://www.calidadsystems.com/images/AndroidListItem.png (Извините, у меня недостаточно очков, чтобы опубликовать изображение)

его вид состояния и является элементом в представлении списка. Есть 8 TextViews, которые необходимо установить. Каждое из 222 полей изменится. Текущий фон имеет цвета там в определенных местах, и я пытаюсь выстроить ярлыки и текстовые элементы, чтобы получить снимок ниже. Я построил этот с AbsoluteLayout, который устарел, но он также не очень хорошо работает на устройстве.

Я постоянно боролся с макетами на Android. У кого-нибудь есть хороший код примера, который может это сделать?

Теги:
background
image
layout

2 ответа

0

Почему бы не просто составить макет в макете таблицы и установить фон макета таблицы на выполненную вами графику? Это должно сработать с вами. В частности, дизайн вашего проекта будет похож на 4 столбца с x строк. Затем, используя свойство strechcolumn, вы сможете выполнить то, что вы пытаетесь сделать!

Если вы правильно масштабируете графику, вы не должны иметь эту проблему в целом.

  • 0
    Нет, на самом деле я обнаружил, что если я добавлю, скажем, графику 480x100px и вставим wrap_content, то разница между точками на дюйм для x и y будет фактически искажать изображение. Я сделал это только с помощью ImageView и увидел результаты на моей Галактике.
0

Вероятно, вам захочется использовать RelativeLayout. Вы можете использовать атрибут android: layout_alignTop = "id", чтобы строки были правильно расположены. Android: layout_alignLeft = "id" для столбцов. Помимо этого, это просто игра с атрибутом android: layout_marginLeft = "XXdip", чтобы получить пространство между ними, как вы хотите. Ознакомьтесь с этой страницей для обзора и примеров всех типов макетов. Вот еще несколько примеров кода RelativeLayout. И еще одна страница с другим примером. RelativeLayout немного сложнее привыкнуть, но как только вы использовали его несколько раз, его довольно легко понять и получить макет, который вы хотите. Преимущество этого заключается в том, что ваши пользовательские интерфейсы выглядят неплохо на разных размерах экрана, когда вы определяете их таким образом.

  • 0
    Я решил эту проблему, используя TableLayout и затем удалив цветной фон, который был на изображении, установив цвет фона TextViews. \ N Я обнаружил, что использование dip для измерений искажает все на моей Галактике. \ N xdpi = 234,46153 и ydpi = 236,27907. Это приводит к перекосу изображения на разных экранах и выравниванию. Поэтому для другого макета мне пришлось прибегнуть к использованию px вместо dip, чтобы правильно расположить макет. Однако я знаю, что когда он выходит на экран, который отличается от ширины 480, он не выстраивается в линию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню