【问题标题】:Tab Layout title items hidding over my toolbar隐藏在我的工具栏上的选项卡布局标题项目
【发布时间】:2018-07-19 11:15:50
【问题描述】:

我的布局文件中有一个折叠工具栏和一个 TabLayout。 选项卡布局仅在工具栏完全折叠时出现。 我的问题是,选项卡布局如下所示:

但我希望它完全显示出来,像这样:

我试图改变 gravityanchor (因为它被包裹在 Coordinator 布局 中)但我似乎没有能够实现它。这真的很讨厌... 这是我的 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:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/relLayoutCountryInfo"
android:orientation="vertical"
>


<android.support.design.widget.AppBarLayout
    android:id="@+id/testeparainfo"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/actionBarDivider">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/backgroundcollapsedtoolbarinfo"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="exitUntilCollapsed|scroll">


        <ImageView
            android:id="@+id/imgCountryInfoFoto"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop" />

        <ImageView
            android:id="@+id/imgCountryInfoEscuro"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:background="@drawable/background_pais_info"
            android:scaleType="centerInside" />


        <ImageView
            android:id="@+id/imgEscuroCountryTopo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:cropToPadding="false"
            android:scaleX="2"
            android:scaleY="-1"
            app:srcCompat="@drawable/blur_paises_filtro" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbaridinfo"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

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

        <com.github.mmin18.widget.RealtimeBlurView
            android:id="@+id/blurView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:realtimeBlurRadius="10dp"
            app:realtimeOverlayColor="#8000" />

        <TextView
            android:id="@+id/txtNomePaisInfo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginStart="30dp"
            android:layout_marginTop="520dp"
            android:paddingBottom="40dp"
            android:text="TextView"
            android:textColor="@android:color/background_light"
            android:textSize="35sp"
            app:layout_anchor="@+id/txtNomeContinente"
            app:layout_anchorGravity="left|bottom" />

        <TextView
            android:id="@+id/txtContinenteNome"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginStart="30dp"
            android:layout_marginTop="520dp"
            android:paddingBottom="10dp"
            android:text="TextView"
            android:textColor="@android:color/background_light"
            android:textSize="25sp"
            app:layout_anchor="@+id/testeparainfo"
            app:layout_anchorGravity="left|bottom" />

        <ImageView
            android:id="@+id/imgVoltar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dp"
            android:layout_marginTop="20dp"
            app:srcCompat="@drawable/arrow_back_branca" />

        <com.like.LikeButton
            android:id="@+id/heart_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="340dp"
            android:layout_marginTop="520dp"
            android:paddingBottom="40dp"
            app:icon_size="25dp"
            app:icon_type="heart"
            app:layout_anchor="@+id/txtNomeContinente"
            app:layout_anchorGravity="right|bottom">

        </com.like.LikeButton>

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

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


<android.support.design.widget.TabLayout
    android:id="@+id/tablayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_anchor="@+id/includeTeste"
    app:layout_anchorGravity="top|center">

    <android.support.design.widget.TabItem
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Center" />

    <android.support.design.widget.TabItem
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Right" />

    <android.support.design.widget.TabItem
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Left" />
</android.support.design.widget.TabLayout>

<include
    android:id="@+id/includeTeste"
    layout="@layout/content_scrolling" />

【问题讨论】:

  • 尝试将您的 tablayout 移动到包含的 includeTeste 视图
  • @masoudvali 我的 includeTeste 有一个nestedScrollView,里面有一个 TextView,我无法向其中添加更多子项
  • 您也可以添加它的代码吗?

标签: android xml android-layout


【解决方案1】:

这可能是过渡的问题。一旦顶部栏完全显示,您可以尝试重新布局您的视图吗?

覆盖父视图的 onSizeChanged(示例相对布局),然后重新布局视图。

mView.measure( View.MeasureSpec.makeMeasureSpec(mView.getMeasuredWidth(),
                                                  View.MeasureSpec.EXACTLY),
               View.MeasureSpec.makeMeasureSpec(mView.getMeasuredHeight(),
                                                 View.MeasureSpec.EXACTLY));
mView.layout(mView.getLeft(),mView.getTop(),mView.getRight(),mView.getBottom()); 

【讨论】:

    【解决方案2】:
    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="false"
        android:layout_gravity="top"
        app:collapsedTitleGravity="center_vertical"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:contentInsetRight="0dp"
        app:contentInsetEnd="0dp"
        android:contentInsetRight="0dp"
        android:contentInsetEnd="0dp"
        android:paddingEnd="0dp"
        android:paddingTop="0dp"
        android:paddingRight="0dp">
        ...
    </android.support.design.widget.CollapsingToolbarLayout>
    
    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@color/primary"
        app:tabGravity="fill"
        app:tabIndicatorColor="@android:color/white"
        app:tabIndicatorHeight="2dp"
        app:tabMode="scrollable"
        app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
        app:tabSelectedTextColor="@android:color/white"
        app:tabTextColor="@android:color/white" />
    

    【讨论】:

      猜你喜欢
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 2015-03-01
      • 2021-08-10
      • 1970-01-01
      • 2022-06-28
      相关资源
      最近更新 更多