Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.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_Dynamic - Fatal编程技术网

Android 动态活动启动时,布局会更改

Android 动态活动启动时,布局会更改,android,xml,android-layout,dynamic,Android,Xml,Android Layout,Dynamic,我有一个允许创建动态EditText的布局-这很好,但它会推高静态EditText,这不是我想要的 我使用的是scrollview,因此理论上静态EditText应该固定在适当的位置,当添加动态EditText时,用户可以向下滚动 相反,随着更多的动态编辑文本的添加,我的3个静态编辑文本开始越来越近。动态EditText中的间距很好,因为它们都是同一数组的一部分,但我似乎看不到静态EditText发生了什么 任何帮助都将不胜感激 <?xml version="1.0" encoding="

我有一个允许创建动态EditText的布局-这很好,但它会推高静态EditText,这不是我想要的

我使用的是scrollview,因此理论上静态EditText应该固定在适当的位置,当添加动态EditText时,用户可以向下滚动

相反,随着更多的动态编辑文本的添加,我的3个静态编辑文本开始越来越近。动态EditText中的间距很好,因为它们都是同一数组的一部分,但我似乎看不到静态EditText发生了什么

任何帮助都将不胜感激

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/facebookBlue"
        android:orientation="vertical"
        android:weightSum="1"
        tools:context="com.test.practise.AddTeamMembers">


        <android.support.design.widget.TextInputEditText
            android:id="@+id/tv_teamNames"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="@string/teamName"
            android:textColor="@android:color/background_light"
            android:textColorLink="@android:color/background_light"
            android:textSize="30sp"
            android:textStyle="bold" />


        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.26"
            android:orientation="vertical"
            android:weightSum="1">

            <TextView
                android:id="@+id/textView3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="0.47"
                android:gravity="center"
                android:text="Enter Player Names Below!"
                android:textColor="@android:color/background_light"
                android:textSize="24sp" />

        </FrameLayout >


        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.10"
            android:orientation="vertical"
            android:weightSum="1">

            <EditText

                android:id="@+id/et_team_name1"
                android:layout_width="232dp"
                android:layout_height="37dp"
                android:layout_gravity="center"
                android:layout_marginBottom="0dp"
                android:layout_weight="1"
                android:background="@android:color/background_light"
                android:ems="10"
                android:hint="@string/PlayerName"
                android:imeOptions="actionDone"
                android:inputType="text"
                android:paddingLeft="90dp"
                tools:layout_editor_absoluteX="76dp"
                tools:layout_editor_absoluteY="188dp"
                />

        </FrameLayout>

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.10"
            android:orientation="vertical"
            android:weightSum="1">

            <EditText
                android:id="@+id/et_team_name2"
                android:layout_width="232dp"
                android:layout_height="37dp"
                android:layout_gravity="center"
                android:layout_marginBottom="0dp"
                android:layout_weight="1"
                android:background="@android:color/background_light"
                android:ems="10"
                android:hint="@string/PlayerName"
                android:imeOptions="actionDone"
                android:inputType="text"
                android:paddingLeft="90dp"
                android:singleLine="true"
                tools:layout_editor_absoluteX="76dp"
                tools:layout_editor_absoluteY="188dp"
                />

        </FrameLayout>

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="15dp"
            android:layout_weight="0.10"
            android:orientation="vertical"
            android:weightSum="1">

            <EditText
                android:id="@+id/et_team_name3"
                android:layout_width="232dp"
                android:layout_height="37dp"
                android:layout_gravity="center"
                android:layout_marginBottom="0dp"
                android:background="@android:color/background_light"
                android:ems="10"
                android:hint="@string/PlayerName"
                android:imeOptions="actionDone"
                android:inputType="text"
                android:paddingLeft="90dp"
                android:singleLine="true"
                tools:layout_editor_absoluteX="76dp"
                tools:layout_editor_absoluteY="188dp"
                android:layout_weight="1"
                />

        </FrameLayout>

        <LinearLayout
            android:id="@+id/editTextGroupLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:orientation="vertical"></LinearLayout>

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.07"
            android:orientation="vertical"
            android:weightSum="1">

            <TextView
                android:id="@+id/tv_add_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:gravity="center"
                android:text="+ Add Name"
                android:textColor="@android:color/background_light"
                android:textSize="16dp" />

        </FrameLayout >


        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:weightSum="1">

            <Button
                android:id="@+id/btn_submit_team"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@color/facebookBlue"
                android:gravity="center"
                android:text="Ready to join!"
                android:textColor="@android:color/background_light" />

        </FrameLayout >


    </LinearLayout>

</ScrollView>


很难说没有看到你所有的代码,但我相信你的问题源于在你的
滚动视图上使用
android:fillViewport
和在你的
LinearLayout
孩子上使用
android:layou weight

您的
ScrollView
的子项
LinearLayout
,具有
wrap\u内容
高度。但是,由于
ScrollView
上的
fillViewport
属性,您的
LinearLayout
将被拉伸以填充屏幕。这意味着会有一些“额外”的高度

layout\u weight
属性将额外的高度划分,并将其中的一部分分配给每个孩子

当您向视图动态添加
EditText
s时,“额外”的高度会减少(直到没有额外的高度)。这具有将原始视图推得越来越近的视觉效果


解决方案将完全取决于您想要实现的目标。我怀疑答案是,您应该从视图中删除
布局权重属性,而不是使用边距将它们直观地分开。

为什么要将每个小部件包装在框架布局中?那似乎没用
android:orientation=“vertical”
对框架布局不起任何作用。此外,布局定义中存在死线布局。尝试从您的父线性布局和任何子项中删除
android:weightSum=“1”
,您似乎没有正确使用权重。啊,是的,方向错误地留在那里,因为我使用的是线性布局-只是真正的试验。至于“死线布局”,这在我的代码中作为动态编辑文本的一部分被引用。是的,是
layout\u weight
属性导致了问题,现在一切正常,谢谢!