Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android布局随子布局动态添加_Android_Xml_Android Layout - Fatal编程技术网

Android布局随子布局动态添加

Android布局随子布局动态添加,android,xml,android-layout,Android,Xml,Android Layout,我已经尝试了很多次,但我似乎无法修复我的布局。我有没有办法实现这个目标 上图是有一个孩子和两个孩子时发生的情况。 下图是我想要实现的目标 这是我的父xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/parent" android:

我已经尝试了很多次,但我似乎无法修复我的布局。我有没有办法实现这个目标

上图是有一个孩子和两个孩子时发生的情况。 下图是我想要实现的目标

这是我的父xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/parent"
    android:layout_width="match_parent"
    android:layout_height="@dimen/height"
    android:orientation="horizontal">

    <RelativeLayout
        android:id="@+id/flow_container"
        android:layout_width="match_parent"
        android:layout_height="title_container_height"
        android:gravity="center_vertical">
        <TextView
            android:id="@+id/flow_title"
            style="@style/TileTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:text="TEXT" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/linear_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_gravity="center_horizontal"
        android:orientation="vertical">
    </LinearLayout>
</RelativeLayout>

id为
线性布局的父线性布局设置为垂直方向,因此子视图将从上到下排列

尝试将您的子xml更改为

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/primary_icon_section"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:orientation="vertical">
<ImageView
        android:id="@+id/primary_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:paddingBottom="@dimen/small"
        android:paddingTop="@dimen/small"/>
<TextView 
        android:id="@+id/primary_sub_text"
        style="@style/Style"
        android:layout_width="wrap_content"
        android:layout_height="18dp"
        android:layout_gravity="center_horizontal"
        android:textColor="@color/white"
        tools:text="Primary sub text"/>
</LinearLayout>

以及您的parent.xml作为

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/parent"
android:layout_width="match_parent"
android:layout_height="@dimen/height"
android:orientation="horizontal">

<RelativeLayout
    android:id="@+id/flow_container"
    android:layout_width="match_parent"
    android:layout_height="title_container_height"
    android:gravity="center_vertical">
    <TextView
        android:id="@+id/flow_title"
        style="@style/TileTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:text="TEXT" />
</RelativeLayout>

<LinearLayout
    android:id="@+id/linear_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>

将id为的父线性布局设置为垂直方向,因此子视图将从上到下排列

尝试将您的子xml更改为

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/primary_icon_section"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:orientation="vertical">
<ImageView
        android:id="@+id/primary_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:paddingBottom="@dimen/small"
        android:paddingTop="@dimen/small"/>
<TextView 
        android:id="@+id/primary_sub_text"
        style="@style/Style"
        android:layout_width="wrap_content"
        android:layout_height="18dp"
        android:layout_gravity="center_horizontal"
        android:textColor="@color/white"
        tools:text="Primary sub text"/>
</LinearLayout>

以及您的parent.xml作为

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/parent"
android:layout_width="match_parent"
android:layout_height="@dimen/height"
android:orientation="horizontal">

<RelativeLayout
    android:id="@+id/flow_container"
    android:layout_width="match_parent"
    android:layout_height="title_container_height"
    android:gravity="center_vertical">
    <TextView
        android:id="@+id/flow_title"
        style="@style/TileTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:text="TEXT" />
</RelativeLayout>

<LinearLayout
    android:id="@+id/linear_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>

要实现目标,你需要做两件事:

  • 线性布局
    方向
    垂直
    更改为
    水平
    ,使添加方向正确
  • 将孩子的
    线性布局
    宽度
  • 更改为
    0dp
    ,并将其
    布局_重量
    更改为
    1

    希望这能对你有所帮助。

    你需要做两件事来实现你的目标:

  • 线性布局
    方向
    垂直
    更改为
    水平
    ,使添加方向正确
  • 将孩子的
    线性布局
    宽度更改为
    0dp
    ,并将其
    布局_重量
    更改为
    1

  • 希望这能帮到你。

    很高兴我能帮上忙……)很高兴我能帮上忙……)