2013-12-08 2 views
2

Я хочу иметь этот макет в своем приложении для Android.Android: как мне реализовать следующий макет?

The layout I want to implement

Требования:

  • Все прямоугольники должны распределить равномерно по всему экрану
  • два прямоугольника, в правом нижнем углу, должны иметь одинаковую высоту (так же распределены равномерно)

Я попробовал GridLayout, но это не позволит мне растянуть детей по экрану. Я пробовал RelativeLayout без успеха. Я пробовал вложенность LinearLayouts с весами, он работает, но я читал, что весы для вложенности плохо для производительности. И, наконец, я попробовал TableLayout с весами, но у него нет ничего похожего на «диапазон строк», как на HTML-таблицу, поэтому я не могу сделать два прямоугольника в нижнем правом углу, как я хочу, чтобы они были (без лишних весов).

Кто-нибудь, пожалуйста, помогите! Как трудно это может быть? Я не знаю, что делать здесь. Я мог бы реализовать свой собственный ViewGroup или что-то, чтобы вручную реализовать макет. Но похоже, что это что-то очень простое, поэтому я должен иметь возможность использовать стандартные макеты.

+0

«Я не знаю, что делать здесь» - учитывая, что вы уже это сделали, это странное заявление. Казалось бы, для вас больше смысла видеть, есть ли у вас проблема с производительностью с решением LinearLayout, прежде чем тратить время на то, чтобы перетащить свою собственную «ViewGroup». – CommonsWare

ответ

1

Вы можете использовать GridLayouts, чтобы сделать что-то подобное, для некоторой помощи в установке экрана я предлагаю вам посмотреть следующее: How to make a GridLayout fit screen size.

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

+0

Спасибо! Я использую IntelliJ IDEA, и он начал жаловаться на вложенные веса. Поэтому я подумал, что это серьезная проблема с производительностью. Но если вы скажете мне, что это не так, я проигнорирую предупреждения. –

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