Android match_父项未按预期工作

Android match_父项未按预期工作,android,Android,在布局文件中,我使用rootScrollView和childLinearLayout 我搜索了一下,但没有得到帮助。 我在“父视图”和“子视图”中设置了“匹配父视图” 但子视图存在问题 子视图不像父视图那样填充 下面是图像和xml代码 布局文件 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xml

在布局文件中,我使用root
ScrollView
和child
LinearLayout

我搜索了一下,但没有得到帮助。 我在“父视图”和“子视图”中设置了“匹配父视图”

但子视图存在问题

子视图不像父视图那样填充

下面是图像和xml代码

布局文件

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:CustomTextView="http://schemas.android.com/apk/res-auto"
    xmlns:CustomEditTextView="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#D3D6DB"
    android:orientation="vertical"
    tools:context=".tabs.MyTravelTab" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/card_background_new"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp" >

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="@dimen/field_height"
                    android:layout_weight="0.4"
                    android:gravity="left|center_vertical" >

                    <com.mymv.controls.CustomTextView
                        android:id="@+id/textGPS"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        CustomTextView:typeface="Roboto-Regular.ttf"
                        android:text="ABC"
                        android:textColor="@color/black"
                        android:textSize="12sp" />

                    <ToggleButton
                        android:id="@+id/gps_toggle"
                        android:layout_width="wrap_content"
                        android:layout_height="24dp"
                        android:layout_margin="5dp"
                        android:background="@drawable/gps_custom_toggle"
                        android:checked="false"
                        android:textOff=""
                        android:textOn="" />

                    <com.mymv.controls.CustomTextView
                        android:id="@+id/textManual"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        CustomTextView:typeface="Roboto-Regular.ttf"
                        android:text="DEF"
                        android:textColor="@color/black"
                        android:textSize="11sp" />
                </LinearLayout>

                <Spinner
                    android:id="@+id/spinnerPurposeOfJourney"
                    android:layout_width="0dp"
                    android:layout_height="@dimen/field_height"
                    android:layout_weight="0.6"
                    android:background="@drawable/dropdown_black_border"
                    android:entries="@array/purpose_of_journey" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/gpsLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:visibility="gone" >

                <LinearLayout
                    android:id="@+id/startGPSBtn"
                    android:layout_width="0dp"
                    android:layout_height="@dimen/field_height"
                    android:layout_weight="0.5"
                    android:background="@drawable/textview_green_drawable_left_curve_selector"
                    android:gravity="center" >

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/gps" />

                    <com.mymv.controls.CustomTextView
                        android:id="@+id/textView1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        CustomTextView:typeface="Roboto-Regular.ttf"
                        android:text="START GPS"
                        android:textColor="@color/white" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/endGPSBtn"
                    android:layout_width="0dp"
                    android:layout_height="@dimen/field_height"
                    android:layout_weight="0.5"
                    android:background="@drawable/textview_red_drawable_right_curve_selector"
                    android:gravity="center" >

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/end_flag" />

                    <com.mymv.controls.CustomTextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        CustomTextView:typeface="Roboto-Regular.ttf"
                        android:text="END GPS"
                        android:textColor="@color/white" />
                </LinearLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:padding="10dp" >

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center" >

                    <com.mymv.controls.CustomTextView
                        android:layout_width="0dp"
                        android:layout_height="@dimen/field_height"
                        android:layout_weight="@integer/layout_weight_textview"
                        CustomTextView:typeface="Roboto-Bold.ttf"
                        android:background="@drawable/textview_gray_drawable"
                        android:gravity="center_vertical"
                        android:padding="5dp"
                        android:text="DATA"
                        android:textColor="@color/gray" />

                    <com.mymv.controls.CustomTextView
                        android:id="@+id/edtTxtDate"
                        android:layout_width="0dp"
                        android:layout_height="@dimen/field_height"
                        android:layout_marginLeft="-1dp"
                        android:layout_weight="@integer/layout_weight_edittext"
                        CustomTextView:typeface="Roboto-Regular.ttf"
                        android:background="@drawable/edittext_drawable_right_curv_selector"
                        android:gravity="center_vertical"
                        android:hint="DATA"
                        android:padding="5dp"
                        android:singleLine="true"
                        android:textColor="@color/black"
                        android:textColorHint="@color/gray"
                        android:textSize="15dp" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/manualLayout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="visible" >

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="10dp"
                        android:gravity="center" >

                        <com.mymv.controls.CustomTextView
                            android:layout_width="0dp"
                            android:layout_height="@dimen/field_height"
                            android:layout_weight="@integer/layout_weight_textview"
                            CustomTextView:typeface="Roboto-Bold.ttf"
                            android:background="@drawable/textview_gray_drawable"
                            android:gravity="center_vertical"
                            android:padding="5dp"
                            android:text="DATA"
                            android:textColor="@color/gray" />

                        <com.mymv.controls.CustomEditTextView
                            android:id="@+id/edtTxtStartOdometer"
                            android:layout_width="0dp"
                            android:layout_height="@dimen/field_height"
                            android:layout_marginLeft="-1dp"
                            android:layout_weight="@integer/layout_weight_edittext"
                            CustomTextView:typeface="Roboto-Regular.ttf"
                            android:background="@drawable/edittext_drawable_right_curv_selector"
                            android:focusable="false"
                            android:gravity="center_vertical"
                            android:hint="DATA"
                            android:inputType="number"
                            android:maxLength="6"
                            android:padding="5dp"
                            android:singleLine="true"
                            android:textColor="@color/black"
                            android:textColorHint="@color/gray"
                            android:textSize="15dp" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="10dp"
                        android:gravity="center" >

                        <com.mymv.controls.CustomTextView
                            android:layout_width="0dp"
                            android:layout_height="@dimen/field_height"
                            android:layout_weight="@integer/layout_weight_textview"
                            CustomTextView:typeface="Roboto-Bold.ttf"
                            android:background="@drawable/textview_gray_drawable"
                            android:gravity="center_vertical"
                            android:padding="5dp"
                            android:text="DATA"
                            android:textColor="@color/gray" />

                        <com.mymv.controls.CustomEditTextView
                            android:id="@+id/edtTxtEndOdometer"
                            android:layout_width="0dp"
                            android:layout_height="@dimen/field_height"
                            android:layout_marginLeft="-1dp"
                            android:layout_weight="@integer/layout_weight_edittext"
                            CustomEditTextView:typeface="Roboto-Regular.ttf"
                            android:background="@drawable/edittext_drawable_right_curv_selector"
                            android:focusable="false"
                            android:gravity="center_vertical"
                            android:hint="DATA"
                            android:inputType="number"
                            android:maxLength="6"
                            android:padding="5dp"
                            android:singleLine="true"
                            android:textColor="@color/black"
                            android:textColorHint="@color/gray"
                            android:textSize="15dp" />
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:gravity="center" >

                    <com.mymv.controls.CustomTextView
                        android:layout_width="0dp"
                        android:layout_height="@dimen/field_height"
                        android:layout_weight="@integer/layout_weight_textview"
                        CustomTextView:typeface="Roboto-Bold.ttf"
                        android:background="@drawable/textview_gray_drawable"
                        android:gravity="center_vertical"
                        android:padding="5dp"
                        android:text="DATA"
                        android:textColor="@color/gray" />

                    <com.mymv.controls.CustomEditTextView
                        android:id="@+id/edtTxtStartLocation"
                        android:layout_width="0dp"
                        android:layout_height="@dimen/field_height"
                        android:layout_marginLeft="-1dp"
                        android:layout_weight="@integer/layout_weight_edittext"
                        CustomEditTextView:typeface="Roboto-Regular.ttf"
                        android:background="@drawable/edittext_drawable_right_curv_selector"
                        android:focusable="false"
                        android:gravity="center_vertical"
                        android:hint="DATA"
                        android:maxLength="100"
                        android:padding="5dp"
                        android:singleLine="true"
                        android:textColor="@color/black"
                        android:textColorHint="@color/gray"
                        android:textSize="15dp" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:gravity="center" >

                    <com.mymv.controls.CustomTextView
                        android:layout_width="0dp"
                        android:layout_height="@dimen/field_height"
                        android:layout_weight="@integer/layout_weight_textview"
                        CustomTextView:typeface="Roboto-Bold.ttf"
                        android:background="@drawable/textview_gray_drawable"
                        android:gravity="center_vertical"
                        android:padding="5dp"
                        android:text="DATA"
                        android:textColor="@color/gray" />

                    <com.mymv.controls.CustomEditTextView
                        android:id="@+id/edtTxtEndLocation"
                        android:layout_width="0dp"
                        android:layout_height="@dimen/field_height"
                        android:layout_marginLeft="-1dp"
                        android:layout_weight="@integer/layout_weight_edittext"
                        CustomEditTextView:typeface="Roboto-Regular.ttf"
                        android:background="@drawable/edittext_drawable_right_curv_selector"
                        android:focusable="false"
                        android:gravity="center_vertical"
                        android:hint="DATA"
                        android:maxLength="100"
                        android:padding="5dp"
                        android:singleLine="true"
                        android:textColor="@color/black"
                        android:textColorHint="@color/gray"
                        android:textSize="15dp" />
                </LinearLayout>

                <Button
                    android:id="@+id/btnRecord"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/field_height"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/button_blue_border"
                    android:text="Button"
                    android:textColor="@color/white"
                    android:textSize="15dp" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/viewUsage"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="0.5"
                android:background="@drawable/button_background_yellow"
                android:padding="10dp"
                android:text="Button1"
                android:textColor="@color/black" />

            <Button
                android:id="@+id/viewTravelHistory"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="0.5"
                android:background="@drawable/button_background_blue"
                android:padding="10dp"
                android:text="Button2"
                android:textColor="@color/white" />
        </LinearLayout>
    </LinearLayout>

</ScrollView>


在滚动视图中尝试使用android:fillViewport=“true”

ScrollView内部的线性布局建议使用
wrap\u content
作为其大小

要显示完整的listview,您可以:

  • 使用ScrollView的属性
  • 为LinearLayout的宽度和高度使用精确的值。您可以根据需要计算它,例如等于屏幕尺寸,或等于其他视图尺寸 使用 scrollview的android:fillViewport=“true”属性。

    那么ScrollView的观点是什么?您希望看到什么?它没有填满整个空间,因为scroll view。它只会填充需要填充的空间。因此,请尝试使用fill_parent或在另一个布局中使用滚动视图。使用LinearLayout作为根布局,然后添加ScrollView作为直接子布局。我认为它填补了这个空白gap@ErAcube我还尝试将根布局设置为线性布局并设置scrollview,但同样的情况也发生了。它使用的是
    android:fillViewport=“true”
    ,但活动不会滚动。因为您的内容较少,一旦您的内容多于区域,它就会开始滚动。请接受最好的答案:)没有内容就等于没有内容。当键盘打开时,它不会滚动。我在小型设备上进行了测试,但内容没有滚动。我还在android清单文件中添加了
    android:windowSoftInputMode=“adjustResize”
    这一行,它与android:fillViewport=“true”一起工作,但活动不会滚动。因此,请尝试第二个:)您可以将linearLayout的高度设置为比scrollView大一点,而不会影响性能