0

我在查看选项卡式布局中的片段时遇到了麻烦。
有 3 个选项卡,但底部有一个从布局中删除的按钮,正如您在此FRIEND REQUESTS选项卡中看到的那样:
按钮不在布局中

如您所见,粉色按钮位置下降太多。

这是FRIEND REQUESTS选项卡 XML 代码:

<android.support.constraint.ConstraintLayout  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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"

    tools:context="com.example.barda.wikirace.Multiplayer.MultiplayerActivityFriendRequestsTab">


    <ProgressBar
        android:id="@+id/loadingRequestsProgressBar"
        style="?android:attr/progressBarStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginStart="8dp"
        android:layout_marginEnd="8dp" />

    <TextView
        android:id="@+id/noFriendRequestsFound_TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:text="@string/we_didnt_find_friend_requests"
        android:textColor="@color/colorWhite"
        android:textSize="25sp"
        android:visibility="invisible"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/refreshFriendRequests_Floating"
        android:layout_width="43dp"
        android:layout_height="43dp"
        android:layout_x="30dp"
        android:layout_y="596dp"
        android:background="@color/colorAccent"
        android:clickable="true"
        app:backgroundTint="@color/colorAccent"
        app:fabSize="mini"
        app:srcCompat="@drawable/refreshbutton_multiplayer_lists"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="0dp"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent" />

    <ListView
        android:id="@+id/friend_Requests_Received_ListView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginStart="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

</android.support.constraint.ConstraintLayout>

这就是FRIEND REQUESTS标签在 Android Studio 中的样子:

Android Studio 上的 <code>FRIEND REQUESTS</code> 选项卡布局


这是我的整个 TabLayout XML 代码:

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

<android.support.design.widget.CoordinatorLayout 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/activity_multiplayer_main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.example.barda.wikirace.Multiplayer.MultiPlayerActivity"
    android:background="@color/colorGreenLight"

    >

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="@dimen/appbar_padding_top"
        android:background="@color/colorGreenLight"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorGreenLight"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/AppTheme.PopupOverlay">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/title_activity_multi_player"
                android:textSize="30sp"
                android:textStyle="bold"
                android:textColor="@color/colorWhite"
                android:layout_gravity="center"
                android:id="@+id/toolbar_title" />

        </android.support.v7.widget.Toolbar>


        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabBackground="@drawable/tab_color_selector"

            />


    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/addFriendActivity_Floating"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:background="#FF1781"
        android:clickable="true"
        android:onClick="startAddFriendActivty_FAB_OnClick"
        app:backgroundTint="#FF1781"
        app:fabSize="mini"
        app:layout_anchor="@+id/container"
        app:layout_anchorGravity="bottom|left"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:srcCompat="@drawable/addfriend_icon" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/goBackToMain_Floating"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_marginBottom="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginStart="8dp"
        android:background="#FF1781"
        android:clickable="true"
        android:onClick="goBackToMain_FAB_OnClick"
        app:backgroundTint="#FF1781"
        app:fabSize="mini"
        app:layout_anchor="@+id/container"
        app:layout_anchorGravity="bottom|right"
        app:srcCompat="@drawable/backbutton_clean_right" />


</android.support.design.widget.CoordinatorLayout>

这是整个 TabLayout 预览在 Android Studio 中的显示方式:

Android Studio 中的 TabLayout 预览


我不明白为什么按钮上的按钮FRIEND REQUESTS TAB超出其父级限制,考虑到它被设置为match_parent.

4

2 回答 2

0

任何时候视图似乎莫名其妙地垂直偏移,罪魁祸首通常是fitSystemWindows. 您的协调器布局、选项卡布局和 viewpager 设置了该属性,但“好友请求”布局没有。尝试添加android:fitsSystemWindows="true".

于 2017-08-27T19:08:08.403 回答
0

解决方案是从选项卡布局中删除这一行 app:layout_scrollFlags="scroll|enterAlways" 以及所有:android:fitsSystemWindows="true"

我不知道为什么,但我想那是因为我的寻呼机没有任何列表,而且它不应该是可滚动的。

于 2017-08-27T21:02:26.817 回答