代码之家  ›  专栏  ›  技术社区  ›  Fat Monk

ScrollView与RelativeLayout中的其他内容重叠

  •  0
  • Fat Monk  · 技术社区  · 7 年前

    RelativeLayout 作为它的根。

    菜单的总体结构如下:

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true"
        android:focusable="true"
        android:importantForAccessibility="no"
        android:orientation="vertical">
    
    <LinearLayout
        android:id="@+id/linear_vert_drwr_hdr"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:padding="8dp"
        android:background="@drawable/drawer_bg"
        android:orientation="vertical">
    
        <ImageView
            ... />
    
        <TextView
            ... />
    
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/manage_ids"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linear_vert_drwr_hdr"
        android:padding="8dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal">
    
        <TextView
            ... />
    
        <ImageView
            ... />
    
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/prefs_section"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/manage_ids"
        android:padding="8dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal">
    
        <TextView
            ... />
    </LinearLayout>
    
    <ScrollView
        android:id="@+id/vscroll_prefs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/prefs_section"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"
        android:paddingBottom="8dp">
        <LinearLayout
            android:id="@+id/linear3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="8dp"
            android:orientation="vertical"
            android:layout_gravity="start">
    
            <Switch
                android:id="@+id/switch_rem_last_id"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
            ... />
    
            ... a bunch of switches ...
        </LinearLayout>
    </ScrollView>
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center_horizontal"
        android:orientation="vertical">
    
        <ImageView
            android:id="@+id/i_div_line_top"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:contentDescription="@string/dividing_line"
            android:paddingEnd="10dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingStart="10dp"
            app:srcCompat="@drawable/line_box" />
    
    
        <TextView
            ... />
    
        <TextView
            ... />
        <ImageView
            ... />
    
        <LinearLayout
            android:id="@+id/social_links"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:orientation="horizontal">
    
            <ImageView
                ... />
    
            <ImageView
                ... />
    
        </LinearLayout>
    
        <TextView
            android:id="@+id/l_app_version"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:padding="8dp"
            android:text="@string/app_version"
            android:textAlignment="center"
            android:textColor="#000000"
            android:textSize="12sp"
            android:textStyle="italic" />
    
    </LinearLayout>
    
    </RelativeLayout>
    

    这在大屏幕的手机上很好用,但在小屏幕的手机上效果更好 ScrollView 重叠 LinearLayout 在它下面。

    因为我用的是 相对布局 作为我不能使用的布局的根 android:layout_height="0dp" android:layout_weight="1" 而不是 android:layout_height="wrap_content" .

    卷轴视图 是否展开以填充可用空间,但不再?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Fat Monk    7 年前

    知道了。

    我给了 LinearLayout ScrollView 和身份证,然后在 卷轴视图 我定义了 android:layout_above="@id/layout_below_the_scrollview" .

    当你意识到 android:layout...