Выравнивание по центру в Android

Я хочу знать, как программно центрировать виджет GUI. Пожалуйста, помогите мне. Я использую LinearLayout.

С уважением.


person Mudassir    schedule 11.11.2010    source источник


Ответы (2)


В большинстве случаев вам не нужно этого делать, если вы определили android:gravity="center" в файле макета.

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

person Chromium    schedule 13.12.2010
comment
Используйте getWindowManager().getDefaultDisplay(); Это даст вам детали экрана, чтобы вы могли выполнить расчет, используя эти данные. - person Chromium; 13.12.2010

Вам необходимо установить гравитацию для вида как CENTER_HORIZONTAL.

с разметкой, которую вы должны использовать:

android:layout_gravity="center_vertical|center_horizontal"

Разница между android:gravity и android:layout_gravity заключается в том, что android:gravity позиционирует содержимое этого представления (то есть то, что находится внутри представления), тогда как android:layout_gravity позиционирует представление относительно его родителя.

В коде вы должны использовать:

textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
person ankitjaininfo    schedule 11.11.2010
comment
С каким методом я могу использовать CENTER_HORIZONTAL. Я хочу выровнять ImageButton по центру моего кода Java. - person Mudassir; 11.11.2010
comment
Но у ImageButton нет метода setGravity(). - person Mudassir; 11.11.2010
comment
android:layout_gravity=center_vertical|center_horizontal можно написать android:layout_gravity=center - person letroll; 03.09.2014