Android match_parent无法按预期工作

时间:2016-06-16 10:40:51

标签: android

在我的布局文件中,我使用了根ScrollView和子LinearLayout

我搜索了这个,但没有得到帮助。 我在父视图和子视图中都设置了 match_parent

但是儿童观点存在问题。

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

这是图像和xml代码。

enter image description here

布局文件。

<?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>

3 个答案:

答案 0 :(得分:8)

在滚动浏览中尝试android:fillViewport="true"

答案 1 :(得分:1)

建议在ScrollView内部使用wrap_content来确定其大小。

要显示完整的列表视图,您可以:

  
      
  1. 使用ScrollView的android:fillViewport="true"属性
  2.   

OR

  
      
  1. 为LinearLayout准确使用宽度和高度值。您可以根据需要计算它,例如等于屏幕尺寸,或等于其他视图尺寸,......
  2.   

答案 2 :(得分:0)

使用 android:fillViewport = scrollview的“true”属性。 https://developer.android.com/reference/android/widget/ScrollView.html#attr_android:fillViewport