Llinear 布局层次结构和对齐问题
Issue with Llinear layout hierarchy and alignment
我在父 XML 中有一些代码行如下:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/header_parent_layout"
layout="@layout/common_header_layout" />
<include
android:id="@+id/title_header_layout"
layout="@layout/title_header_layout" />
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
</LinearLayout>
然后我有另一个 xml,我想在 LinearLayout 中添加 id:content 布局,第一个 xml 膨胀低于 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:customviews="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/agenday_account_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<!-- More Code -->
</FrameLayout>
我已经在膨胀的 xml 布局中设置了 center_vertical 重力,但它始终显示在顶部。谁能帮忙治疗一下。
下面的代码是我如何添加它的:
View view = getLayoutInflater().inflate(R.layout.second, null);
if (view != null) {
mContentContainer.addView(view);
}
mContentContainer 是父容器。
我有这样的想法:
将 content LinearLayout
属性更改为:
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:gravity="center_vertical"
android:orientation="vertical" />
只需为您的 id:content LinearLayout
添加重力属性,使其中的内容保持居中。像这样:
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" />
我在父 XML 中有一些代码行如下:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/header_parent_layout"
layout="@layout/common_header_layout" />
<include
android:id="@+id/title_header_layout"
layout="@layout/title_header_layout" />
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
</LinearLayout>
然后我有另一个 xml,我想在 LinearLayout 中添加 id:content 布局,第一个 xml 膨胀低于 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:customviews="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/agenday_account_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<!-- More Code -->
</FrameLayout>
我已经在膨胀的 xml 布局中设置了 center_vertical 重力,但它始终显示在顶部。谁能帮忙治疗一下。
下面的代码是我如何添加它的:
View view = getLayoutInflater().inflate(R.layout.second, null);
if (view != null) {
mContentContainer.addView(view);
}
mContentContainer 是父容器。
我有这样的想法:
将 content LinearLayout
属性更改为:
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:gravity="center_vertical"
android:orientation="vertical" />
只需为您的 id:content LinearLayout
添加重力属性,使其中的内容保持居中。像这样:
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" />