Android 正在从底部剪切选项卡布局

Android 正在从底部剪切选项卡布局,android,android-layout,Android,Android Layout,我使用的是API 16,在我的主屏幕上有一个带有两个选项卡的选项卡布局。其中一个选项卡具有以下布局: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk

我使用的是API 16,在我的主屏幕上有一个带有两个选项卡的选项卡布局。其中一个选项卡具有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_marginTop="16dp"
        android:layout_marginBottom="16dp"
        android:layout_marginLeft="24dp"
        android:layout_marginRight="24dp">

        <LinearLayout
            android:id="@+id/login_email_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical">

            <ImageView
                android:id="@+id/login_email_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@drawable/ic_email_black_24dp"
                android:tint="@color/lightGrayColor"
                android:layout_marginRight="5dp"
                android:layout_marginEnd="5dp" />

            <EditText
                android:id="@+id/login_email_edit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:theme="@style/managerDetailsEditTextStyle"
                android:inputType="textEmailAddress"
                android:hint="@string/email"
                android:autofillHints="@string/email" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/login_password_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/login_email_layout"
            android:gravity="center_vertical">

            <ImageView
                android:id="@+id/login_password_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@drawable/ic_lock_black_24dp"
                android:tint="@color/lightGrayColor"
                android:layout_marginRight="5dp"
                android:layout_marginEnd="5dp" />

            <EditText
                android:id="@+id/login_password_edit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:theme="@style/managerDetailsEditTextStyle"
                android:inputType="textPassword"
                android:hint="@string/password"
                android:autofillHints="@string/password" />
        </LinearLayout>

        <Button
            android:id="@+id/login_sign_in_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/primaryColor"
            android:textColor="@android:color/white"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginTop="24dp"
            android:layout_below="@id/login_password_layout"
            android:text="@string/action_login" />

        <TextView
            android:id="@+id/login_recover_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="24dp"
            android:layout_below="@id/login_sign_in_button"
            android:textColor="?android:textColorTertiary"
            android:text="@string/forgot_password"
            android:layout_centerHorizontal="true"
            android:gravity="center_horizontal"
            android:textSize="16sp"
            android:textIsSelectable="true" />

        <View
            android:id="@+id/login_tile_divider"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_below="@id/login_recover_text"
            android:layout_gravity="center"
            android:layout_centerHorizontal="true"
            android:gravity="center_horizontal"
            android:layout_marginTop="24dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:background="@color/lightGrayColor" />

        <Button
            android:id="@+id/login_sign_up_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/primaryColor"
            android:textColor="@android:color/white"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginTop="24dp"
            android:layout_below="@id/login_tile_divider"
            android:text="@string/action_sign_up" />
    </RelativeLayout>
</ScrollView>

带有tabslayout的主布局:

<?xml version="1.0" encoding="utf-8"?>
<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:background="@drawable/main_background"
    android:layout_margin="5dp">

    <!-- Main title -->
    <TextView
        android:id="@+id/main_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/primaryDarkColor"
        android:gravity="center"
        android:singleLine="true"
        android:text="@string/app_name"
        android:layout_marginTop="60dp"
        android:textSize="60sp"
        android:textStyle="bold" />

    <!-- Main subtitle -->
    <TextView
        android:id="@+id/main_subtitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/primaryDarkColor"
        android:layout_marginTop="5dp"
        android:gravity="center"
        android:singleLine="true"
        android:text="@string/app_subtitle"
        android:layout_below="@id/main_title"
        android:textSize="22sp"
        android:textStyle="bold" />

    <!-- Tabs layout -->
    <LinearLayout
        android:id="@+id/main_tabs_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_marginTop="25dp"
        android:layout_marginBottom="25dp"
        android:layout_below="@id/main_subtitle"
        android:layout_centerVertical="true">

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <com.google.android.material.appbar.AppBarLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:theme="@style/ThemeOverlay.AppCompat.ActionBar">

                    <com.google.android.material.tabs.TabLayout
                        android:id="@+id/main_login_tabs"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        app:tabMode="fixed"
                        app:tabTextColor="@color/transparentWhite"
                        app:tabBackground="@color/primaryColor"
                        app:tabIndicatorColor="@android:color/white"
                        app:tabIndicatorHeight="4dp"
                        app:tabSelectedTextColor="@android:color/white"
                        app:tabGravity="fill" />
                </com.google.android.material.appbar.AppBarLayout>

                <com.technion.saderota.utilities.CustomViewPager
                    android:id="@+id/main_login_view_pager"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

            </LinearLayout>

        </androidx.cardview.widget.CardView>

    </LinearLayout>

</RelativeLayout>

出于某种原因,在某些设备中,它会切断屏幕的底部


我怀疑这与我在屏幕中部居中的布局有关。我尝试了一些方法来解决它,但没能解决它。我该如何修复它?

您的内容对于屏幕来说实在太大了。“空”未使用空间由此处的边距占据:

   <LinearLayout
        android:id="@+id/main_tabs_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_marginTop="25dp"
        android:layout_marginBottom="25dp"
        android:layout_below="@id/main_subtitle"
        android:layout_centerVertical="true">

在这里:

  <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp">

你可以缩小你的边距,给视图更多的空间


或者,如果没有足够的空间,您可以将您的
主选项卡\u布局设置为
滚动视图
,使其可滚动。

内容是否滚动?@GabrieleMariotti不,出于某些原因,它不允许您仍在为这个问题而挣扎。欢迎提供任何帮助。尽管不推荐,但请在滚动视图中使用`android:layout\u width=“match\u parent”android:layout\u height=“match\u parent”`