Android макет, растянуть определенные части макета - PullRequest
0 голосов
/ 02 апреля 2012

Я создаю небольшое музыкальное приложение. Я пытаюсь сделать свой макет как можно более гибким, для этого примера это означает, что я хочу увеличить масштаб albumart и оставить остальные (кнопки для управления, заголовок и т. Д.) Немасштабированными.

  • 1) это "хорошая практика"? Могу ли я оставить другие элементы управления в нерабочем состоянии?
  • 2) как это сделать? Какие атрибуты? я загрузил образец скриншота здесь дизайна http://www.flickr.com/photos/59647462@N08/7038458497/

для вашей информации это общий обзор моего xml:

   <linearlayout>
    /// Title
    </linearlayout

   <framelayout>
    /// albumart | resize me block
   </framelayout>


   <relativelayout>
   /// subfooter
   </relativelayout>

   <linearlayout>
   /// footer
   </linearlayout>     
  </linearlayout>

дополнительный вопрос: как приклеить нижний колонтитул к нижней части страницы? это возможно без относительного расположения?

Заранее спасибо, надеюсь, понятно, что я пытаюсь сделать.

Ответы [ 4 ]

1 голос
/ 02 апреля 2012

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

0 голосов
/ 02 апреля 2012

1) Да, ваши элементы управления не должны масштабироваться, но они должны обрабатывать изменения конфигурации экрана и различные плотности экрана.

2) Наиболее полезные атрибуты для управления:

android:layout_width
android:layout_height

с некоторыми

android:padding
android:layout_margin

чтобы он выглядел хорошо

Как правило, убедитесь, что ваш пользовательский интерфейс обрабатывает:

  • Изменения размера экрана. Например, они меняются, если вы переходите из портретного режима в ландшафтный режим.
  • Плотность экрана. Телефоны имеют разное разрешение экрана, поэтому убедитесь, что ваши изображения и элементы управления масштабируются правильно (используйте dp вместо px).
0 голосов
/ 02 апреля 2012

1) это "хорошая практика"?Могу ли я оставить другие элементы управления без ограничений?

Я думаю, это зависит от того, как вы предпочитаете, чтобы ваше приложение выглядело на разных устройствах.Лично я предпочел бы использовать веса для пропорционального масштабирования.(например, верх и низ занимают 25% каждый, а центральная часть может составлять 50%).Это позволит избежать слишком маленького управления при переходе от одного разрешения к другому.

2) как это сделать?Какие атрибуты?Я загрузил пример скриншота здесь дизайна http://www.flickr.com/photos/59647462@N08/7038458497/

Я согласен с Shaiful.Линейный макет обеспечит хороший макет для вашего дизайна.

0 голосов
/ 02 апреля 2012

Вы можете использовать LinearLayout.Используйте значения layout_weight & weightSum для растяжения.Пример здесь -

http://developer.android.com/resources/tutorials/views/hello-linearlayout.html

http://developer.android.com/guide/topics/ui/layout-objects.html#linearlayout

...