Установить атрибуты (поля, гравитацию и т. Д.) Для представления Android программно (без XML) - PullRequest
5 голосов
/ 27 апреля 2010

Мне нужно создать графический интерфейс (макет + виды) в моем классе активности .java (я знаю, что он гораздо более гибкий и простой в использовании .xml файл макета, но я пока не хочу его использовать).

Я не могу найти никакой setGravity () (но объект "Gravity", который я не могу понять, как использовать) или любой метод setMargin () для объекта "View".

Какой самый простой способ сделать это?

Thanx.

Ответы [ 2 ]

7 голосов
/ 04 января 2011

Для установки поля для компонента. Следующее оставляет существующие поля как ранее установленные и устанавливает левое поле равным нулю.

TextView title = ((TextView)findViewById(R.id.default_panel_title))
final ViewGroup.MarginLayoutParams lpt =(MarginLayoutParams)title.getLayoutParams();

lpt.setMargins(0,lpt.topMargin,lpt.rightMargin,lpt.bottomMargin);

title.setLayoutParams(lpt);
1 голос
/ 27 апреля 2010

Вы можете добавить гравитацию к «макетам», а не к «элементам управления». Попробуйте установить гравитацию для любого из ваших линейных / относительных или рамочных макетов, используя setGravity (); .

Например:

LinearLayout lll = (LinearLayout) findViewById(R.id.layoutname);
        lll.setGravity(Gravity.CENTER);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...