Я переглядав численні подібні запитання тут на SO, але нічого не допомагає. У мене є ієрархія різних вкладених макетів, і всі вони мають android:layout_width="fill_parent"
, і самий внутрішній макет android:layout_width="wrap_content
- мені потрібно вирівняти його по центру (горизонтально). Як це зробити?
Оновлення:: Я знайшов причину проблеми - якщо я розміщу внутрішній LinearLayout у RelativeLayout за допомогою android:layout_width="fill_parent"
, він все одно обгортає його вміст. Однак TableRow справді наповнює екран.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow >
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="1"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="2"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</TableRow>
</TableLayout>
</FrameLayout>
</LinearLayout>
android:layout_gravity="center"
макет, який містить TextViews - не допомагає, він все ще вирівняний ліворуч. Також спробував встановити ширину цього макета наwrap
таfill
- ніякої різниці.