Проблемы с дизайном Android View - PullRequest
1 голос
/ 24 сентября 2010

Я играл с макетом представления с Android (скажем, в рамках MainActivity) и собираюсь создать макет такого типа, используя 3 ImageView (где каждый блок представляет изображение):

alt text

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

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

Затем есть RelativeLayout, который я пытался использовать с DroidDraw , но мне кажется, что он не слишком далеко продвигается, когда я его реализую: (

Итак,у кого-нибудь есть идеи, как этого добиться?

РЕДАКТИРОВАТЬ: я уже близко к этому, используя dp вместо px, но это все еще не работает при использовании устройств с большим разрешением!: (*

Спасибо

Ответы [ 4 ]

3 голосов
/ 24 сентября 2010

Romain Guy делает нечто очень похожее, используя RelativeLayout. Android Layout Tricks # 1

2 голосов
/ 24 сентября 2010

Одним из решений является то, что вы можете использовать TableLayout с 2 столбцами, а затем во второй столбец вставить второй TableLayout.

DroidDraw не всегда показывает, как именно он будет работать, когда он работает 100% времени, которое я заметил.

1 голос
/ 24 сентября 2010

Вы можете сделать это с помощью горизонтального LinearLayout: сначала добавьте зеленый, затем добавьте вертикальный макет лайнера для синего и оранжевого и назначьте каждому соответствующий вес (например, 50 и 50).

0 голосов
/ 24 сентября 2010

Вы все еще можете использовать LinearLayout, но указывайте ширину / высоту в единицах падения. Таким образом, он должен выглядеть одинаково на любом поддерживаемом размере экрана. Альтернативно, вместо этого вы можете использовать атрибут веса, который, вероятно, является лучшей идеей для этого случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...