android - 如何动态添加布局文件

标签 android android-layout

我有这个布局文件,其中包含用户位置的详细信息 用户应该有 1 到 3 个位置,根据情况我需要添加 1 到 3 个位置表单

enter image description here

谁能告诉我如何动态地将这个 xml 布局文件添加到其他布局文件中?

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:background="@drawable/container"
        android:padding="2dp"
        android:layout_below="@+id/upperBox"
        android:layout_margin="5dp"
        >
        <RelativeLayout 
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:background="@drawable/container_inner"
        android:padding="1dp"
        >

            <TableLayout
                android:layout_width="match_parent"
                android:layout_height="fill_parent"
                android:background="@color/white"
                android:orientation="vertical"
                android:scrollbars="vertical" >

                <TextView
                    style="@style/footerText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/tracking_settings" />

                <TableRow
                    android:id="@+id/tableRow1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/locationName"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/location_name" />

                    <EditText
                        android:id="@+id/editTextLocationName"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:inputType="text" >

                        <requestFocus />
                    </EditText>
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/address"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/address" />

                    <EditText
                        android:id="@+id/editextAddress"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:inputType="text" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/alertPref"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/alert_preference" />

                    <Spinner
                        android:id="@+id/spinnerAlertPref"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/alert_pref_arrays"
                        android:prompt="@string/alert_pref_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/frequency"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/frequency" />

                    <Spinner
                        android:id="@+id/spinnerFreq"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/freq_arrays"
                        android:prompt="@string/freq_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/TrackBetween"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/track_between" />

                    <Spinner
                        android:id="@+id/spinnerTimeFrom"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/time_arrays"
                        android:prompt="@string/time_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <Spinner
                        android:id="@+id/spinnerTimeFrom1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/am_pm_arrays"
                        android:prompt="@string/am_pm_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow7"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/to"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/to" />

                    <Spinner
                        android:id="@+id/spinnerTimeTo"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/time_arrays"
                        android:prompt="@string/time_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow8"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <Spinner
                        android:id="@+id/spinnerTimeTo1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/am_pm_arrays"
                        android:prompt="@string/am_pm_prompt" />
                </TableRow>

                <TextView
                    style="@style/footerText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/alert_settings" />

                <TableRow
                    android:id="@+id/tableRow9"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/sexOffenderIsWithin"
                        android:layout_width="100dp"
                        android:layout_height="wrap_content"
                        android:text="@string/sex_offender_is_within" />

                    <Spinner
                        android:id="@+id/spinnerSexOff"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/sex_offender_arrays"
                        android:prompt="@string/sex_offender_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow10"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/travelAwayFromLocation"
                        android:layout_width="100dp"
                        android:layout_height="wrap_content"
                        android:text="@string/travel_away_from_location" />

                    <Spinner
                        android:id="@+id/spinnerTravelAway"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/sex_offender_arrays"
                        android:prompt="@string/sex_offender_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/arriveAtLocation"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/arrive_at_location" />

                    <Spinner
                        android:id="@+id/spinnerArriveAt"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/yes_donttrack_arrays"
                        android:prompt="@string/yes_donttrack_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow12"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/travelByVehicle"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/travel_by_vehicle" />

                    <Spinner
                        android:id="@+id/spinnerTravelBy"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/yes_donttrack_arrays"
                        android:prompt="@string/yes_donttrack_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow13"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/phonStatus"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/phon_status" />

                    <Spinner
                        android:id="@+id/spinnerPhonStatus"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/phon_status_arrays"
                        android:prompt="@string/phon_status_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow14"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        style="@style/footerText"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/cancel" />

                    <TextView
                        style="@style/footerText"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="right"
                        android:text="@string/submit" />
                </TableRow>
            </TableLayout>

            </RelativeLayout>
            </RelativeLayout>

最佳答案

此布局文件通过 LayoutInflater 位于另一个布局中。

假设,您想在主布局中添加此布局。因此,通过 mainlayout.add(view) 在主布局中采用线性布局,并在主布局中采用列表布局,这里 view 是 LayoutInflater viw。

示例:

private View view;
    view = getLayoutInflater().inflate(R.layout.image_sub_layout,
                null);
     topicLinearLayout.addView(view); // main Layout Linear layout

谢谢。

关于android - 如何动态添加布局文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13046786/

相关文章:

java - 在 android 中将 Logo 定位到中心

android - 在 flutter 中如何使带有平移手势的内部小部件不会与PageView冲突

java - 如何将带有空格的 double 字字符串更改为我可以使用的仅由 double 字组成的数组

android - 如何使用“通过短信、电子邮件等发送至”选项来引发操作选择器

android - 编辑文本高度在点击时减小

android - EditText setError 显示图标但没有文本

android - 在 RelativeLayout 中居中

android - 两层,但无法在android中显示底层

android - 在 Windows 中,react-native 启动命令永远无法执行

android - Android GridView 或等效项中的不同行高