CollapsingToolbar-如何禁用标题动画?

问题描述 投票:0回答:1

当折叠的工具栏被展开或折叠时,我试图显示标题。但是,在任何这些状态下,标题始终具有移动的动画:

enter image description here

如何完全摆脱动画并使标题保持在一个位置?

我尝试将titleEnabled设置为false,但是仅禁用标题,不再显示它

https://stackoverflow.com/a/35975029/11110509

<android.support.design.widget.CollapsingToolbarLayout
        app:titleEnabled="false"
        ...
>

Edit1:我的完整布局:___________________________________________________________________________

    <?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

   <com.google.android.material.appbar.AppBarLayout
       android:id="@+id/appbar_layout"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@color/colorWhite">

      <com.google.android.material.appbar.CollapsingToolbarLayout
          android:id="@+id/collapsing_toolbar"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          app:contentScrim="@color/standardBlue"
          app:title="Title"
          app:layout_scrollFlags="scroll|exitUntilCollapsed">

         <RelativeLayout
             android:id="@+id/activityprofile_topsection"
             android:layout_width="match_parent"
             android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/activityprofile_coverpicture"
                android:layout_width="match_parent"
                android:layout_height="120dp"
                android:background="@color/standardBlue" />


            <ImageView
                android:id="@+id/activityprofile_profilepicture"
                android:layout_width="70dp"
                android:layout_height="70dp"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="70dp"
                android:background="@drawable/profile_picture_white_border" />

            <TextView
                android:id="@+id/activityprofile_username"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/activityprofile_profilepicture"
                android:layout_marginStart="15dp"
                android:layout_marginTop="5dp"
                android:text="Username"
                android:textColor="@color/colorBlackFont"
                android:textSize="16sp" />

         </RelativeLayout>

         <androidx.appcompat.widget.Toolbar
             android:layout_width="match_parent"
             android:layout_height="?attr/actionBarSize"
             app:contentInsetStart="0dp"
             app:layout_collapseMode="pin">

            <ImageView
                android:id="@+id/activityprofile_backbutton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="?attr/actionBarItemBackground"
                android:padding="15dp"
                app:srcCompat="@drawable/icon_back_white_arrow" />
         </androidx.appcompat.widget.Toolbar>

      </com.google.android.material.appbar.CollapsingToolbarLayout>

      <com.google.android.material.tabs.TabLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content">

         <com.google.android.material.tabs.TabItem
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:icon="@drawable/icon_back_black_arrow" />

         <com.google.android.material.tabs.TabItem
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:icon="@drawable/ic_heart" />
      </com.google.android.material.tabs.TabLayout>

   </com.google.android.material.appbar.AppBarLayout>


   <androidx.recyclerview.widget.RecyclerView
       android:id="@+id/recycler_view"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

一旦我添加app:titleEnabled="false",标题就会消失

android android-collapsingtoolbarlayout
1个回答
1
投票

我相信您可能会对布局做一些不正确的事情。我检查了此行为,当您添加app:titleEnabled="false"时,标题应保留在同一位置而没有任何动画。

app:titleEnabled =“ true”(或没有此属性)

enter image description here

app:titleEnabled =“ false”

enter image description here

如您所见,这是您想要实现的行为。在下面,我添加了布局的框架,该框架应该可以正常工作。

<?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/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    >

  <android.support.design.widget.AppBarLayout
      android:id="@+id/appbar_layout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@android:color/transparent"
      android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
      >

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsingToolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:elevation="@dimen/toolbar_elevation"
        app:contentScrim="@color/colorWhite"
        app:titleEnabled="false"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        >

      <RelativeLayout
          android:id="@+id/it_could_be_any_layout"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="@drawable/profile_bg"
          android:scaleType="centerCrop"
          app:layout_collapseMode="parallax"
          >

       <!-- Your content here -->
       
      </RelativeLayout>

      <android.support.v7.widget.Toolbar
          android:id="@+id/toolbarProfile"
          android:layout_width="match_parent"
          android:layout_height="?attr/actionBarSize"
          app:layout_collapseMode="pin"
          app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
          />

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

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

  <android.support.v4.widget.NestedScrollView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@color/colorWhite"
      app:layout_behavior="@string/appbar_scrolling_view_behavior"
      >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <!-- Your RecyclerView here or even replace this LinearLayout -->
    </LinearLayout>

  </android.support.v4.widget.NestedScrollView>

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

[我认为您应该再次检查实现,并使用layout_behaviorapp:layout_scrollFlagscollapseMode属性等。希望您能够解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.