Android-центр TextView горизонтально в LinearLayout
У меня есть следующий базовый макет
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar_background">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:text="HELLO WORLD" />
</LinearLayout>
<LinearLayout>
похоже, что xml является правильным, но текст выровнен слева. Textview занимает всю ширину родительского элемента и textview устанавливается по центру. Не уверен, в чем проблема...
5 ответов:
что происходит, так как TextView заполняет весь ширина внутреннего LinearLayout он уже находится в горизонтальном центре планировка. Когда вы используете
android:layout_gravityОн помещает виджет, в целом, в указанной тяжести. Вместо размещения всего центра виджета то, что вы действительно пытаетесь сделать, это разместить контент в центре, который может быть достигнуто сandroid:gravity="center_horizontal"иandroid:layout_gravityатрибут может быть удален.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/title_bar_background"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:padding="10dp" android:text="HELLO WORLD" /> </LinearLayout>
если вы устанавливаете
<TextView>в центр<Linearlayout>затем сначала поставитьandroid:layout_width="fill_parent"обязательное
Нет необходимости использовать любую другую гравитацию<LinearLayout android:layout_toRightOf="@+id/linear_profile" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" android:gravity="center_horizontal"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="It's.hhhhhhhh...." android:textColor="@color/Black" /> </LinearLayout>
Comments