Альтернатива AbsoluteLayout в Android? - PullRequest
40 голосов
/ 22 августа 2010

Если AbsoluteLayout устарел, что я могу использовать вместо него?

Я сделал приложение, которое использует AbsoluteLayout, но оно не работает с различными разрешениями экрана. Я использую, потому что я могу установить X и Y позиции кнопки. Могу ли я установить положение кнопки, используя другой макет?

Ответы [ 5 ]

22 голосов
/ 22 августа 2010

вы можете использовать RelativeLayouts, как описано здесь: Установить абсолютную позицию вида

11 голосов
/ 23 января 2013

Используйте RelativeLayout и установите левое и правое поля как

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
lp.leftMargin = x;
lp.topMargin =  y;
6 голосов
/ 07 августа 2015

Рассмотрите возможность использования FrameLayout . Если вы установите гравитацию вашего ребенка на TOP|LEFT, то вы можете использовать leftMargin и topMargin в качестве позиций. В качестве бонуса вы получаете несколько других полезных механизмов позиционирования, изменяя гравитацию.

1 голос
/ 12 января 2017

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

0 голосов
/ 02 августа 2011

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

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