当滚动包含少量视图的NestedScrollView时,平板电脑上的CollapsingToolbarLayout存在问题
问题是即使滚动停止后工具栏也会折叠.

您可以重现问题源代码:https://github.com/chrisbanes/cheesesquare
有没有办法防止这种情况发生?
android android-support-library android-design-library android-collapsingtoolbarlayout
我的活动中有一个折叠工具栏,带有导航视图.我已按照教程设置折叠工具栏,但我不能让工具栏透明,就像我在网站上看到的那样.
我希望它在展开时是透明的(参见下图),在折叠时不透明:
这是我的main.xml:
<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:fitsSystemWindows="true"
tools:context="fr.djey.secretapp.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapse_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:fitsSystemWindows="true"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax"
android:scaleType="centerCrop"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin"/>
</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:layout_gravity="fill_vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"
android:textColor="@android:color/black"/>
</LinearLayout>
</android.support.v7.widget.CardView>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud) 该NestedScrollView提供的支持库不正确地与工作WebView(相关错误报告).因此我已经开始实现NestedScrollingChilda WebView并且它似乎对第一个滚动工作正常,折叠和扩展AppBarLayout但是任何后续滚动都无法折叠它.
我的WebView:
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.support.v4.view.NestedScrollingChild;
import android.support.v4.view.NestedScrollingChildHelper;
import android.util.AttributeSet;
import android.view.View;
import android.webkit.WebView;
/**
* Created by carlos on 2/19/16.
*/
public class MyWebView extends WebView implements NestedScrollingChild {
private static final String TAG = MyWebView.class.getSimpleName();
private NestedScrollingChildHelper helper = new NestedScrollingChildHelper(this);
public MyWebView(Context context) {
super(context);
}
public MyWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyWebView(Context context, AttributeSet …Run Code Online (Sandbox Code Playgroud) android webview android-support-library android-collapsingtoolbarlayout android-appbarlayout
如何使用Google IO 2015实现折叠工具栏布局设计 Design Library
在Google IO 2015的开源代码中,它未使用设计库(CoordinatorLayout,CollapsingToolbarLayout等)实现

注意:此处工具栏位于上部的底部.我需要工具栏滚动像这个附加上部textview或任何其他view上部.
android googleio android-design-library android-collapsingtoolbarlayout
我正在尝试制作布局CollapsingToolbarLayout.但我没有得到一件事.我想删除工具栏和TabLayout之间的阴影.我尝试了几种方法,但我没有设法删除阴影.有谁能够帮我?谢谢
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:fitsSystemWindows="true">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/adview"
android:fitsSystemWindows="true">
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="bottom"
android:background="?attr/colorPrimary"
android:translationZ="2dp"
app:layout_anchor="@+id/appbar"
app:layout_anchorGravity="bottom"
app:tabGravity="fill"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="3dp"
app:tabMode="fixed"
app:tabTextColor="@color/tabs_text_selector" />
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="200dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="20dp"
app:expandedTitleMarginStart="20dp"
app:expandedTitleTextAppearance="@style/detalle_txt_expanded"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/detalle_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/img_thumb_m"
android:transitionName="@string/transition"
app:layout_collapseMode="parallax"
tools:targetApi="lollipop" />
<ImageView
android:id="@+id/detalle_img_tipo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/img_edificio"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar" …Run Code Online (Sandbox Code Playgroud) android toolbar shadow android-collapsingtoolbarlayout android-tablayout
我有 2 个片段(片段 A 和片段 B),它们都具有可折叠的工具栏布局和协调器布局中的相应回收站视图。
如果我在我的 recyclerview 中向上滚动(因此 CollapsingToolbarLayout 已经折叠),然后从片段 A 中打开片段 B(将 A 推到 backstack 上)。
当我通过回击返回片段 A 时。CollapsingToolbarLayout/AppBarLayout 始终展开,即使回收器视图位于相同位置。
有人经历过吗?
android-fragments android-recyclerview android-collapsingtoolbarlayout android-appbarlayout
我想创建底部工作表布局,当扩展到全屏时应该显示工具栏。我使用了以下代码,但它显示工具栏,即使它没有扩展到全屏。
<?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"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:layout_behavior="@string/bottom_sheet_behavior">
<include
android:id="@+id/search_tab_toolbar"
layout="@layout/search_tablayout"/>
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/search_tab_toolbar"
android:background="@color/accent"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud) android toolbar android-collapsingtoolbarlayout bottom-sheet
我在我的 2 个活动中遇到了这个问题。当我使用键盘 Tab 键或箭头键导航时 - 我无法到达应用栏中的任何元素。
1) 活动 1 -> 我的 appbar 有一个汉堡菜单图标来访问 NavigationView。我无法单击此图标。如果我触摸菜单图标 - 我可以使用键盘在菜单项上下导航。但是我如何进入菜单?
2) 活动 2 - 我有一个 CoordinatorLayout,里面有一个 CollapsingToolbarLayout 和一个 NestedScrollView。我能够导航到 NestedScrollView 的所有元素。但是我无法到达 CollapsingToolbarLayout 内工具栏上的任何按钮。它有一个收藏夹按钮和一个选项菜单 - 溢出图标和我总是在应用栏上显示的 1。我如何到达这些图标?
这是活动2的布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
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/root_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/detail_app_bar_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/place_detail_appbar_height"
android:elevation="@dimen/place_detail_appbarlayout_elevation">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/detail_collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
android:transitionGroup="false"
app:collapsedTitleGravity="start"
app:collapsedTitleTextAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="72dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/detail_app_bar_photo"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
android:background="@color/colorPrimary"
android:contentDescription="@string/place_image"
android:transitionName="@string/shared_photo"
style="@style/ToolbarImage"/>
<android.support.v7.widget.Toolbar
android:id="@+id/detail_toolbar"
android:layout_width="match_parent"
android:layout_height="@dimen/place_detail_toolbar_height"
android:background="@color/colorAccent"
app:layout_collapseMode="pin"
android:layout_gravity="bottom" …Run Code Online (Sandbox Code Playgroud) android navigation-drawer android-collapsingtoolbarlayout android-appbarlayout android-accessibility
我在AppBarLayout和CollapsingToolbarLayout中遇到一些问题。这是当前发生的情况:
https://www.youtube.com/watch?v=z4yD8rmjSjU
向下滚动运动正是我想要的。但是,当我再次向上滚动时,橙色条应该立即出现(确实如此),但是我希望ImageView仅在用户滚动到最顶部时才开始出现。谁能帮我达到这个效果?
这是我的布局xml:
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways|exitUntilCollapsed">
<TextView
android:text="ImageView"
android:textSize="20sp"
android:textColor="@android:color/white"
android:gravity="center"
android:layout_marginTop="56dp"
android:layout_width="match_parent"
android:layout_height="145dp"
app:layout_collapseMode="parallax"
android:background="#444"/>
<TextView
android:text="Top bar"
android:textColor="@android:color/white"
android:gravity="center_vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="#ff8000"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
<TextView
android:text="Bottom bar"
android:gravity="center_vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:layout_width="match_parent"
android:textColor="@android:color/black"
android:layout_height="50dp"
android:background="#ddd"
app:layout_scrollFlags="enterAlways"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_scrolling"/>
Run Code Online (Sandbox Code Playgroud)
android android-coordinatorlayout android-collapsingtoolbarlayout android-appbarlayout
我正在尝试实现这样的布局:
问题是,当向上滚动卡片时,它会接触到工具栏,并且不再像这样向上滚动:
我希望它向上滚动直到 viewpager 填满屏幕,即至少矩形卡应该向上滚动到工具栏之外(即使 tabLayout 也可以向上滚动)。但我不希望它在顶部保持粘性。
主要布局在这里:
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:showIn="@layout/activity_main">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_dark"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbarCollapse"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="match_parent"
android:layout_height="190dp"
android:minHeight="190dp"
android:src="@drawable/ic_launcher_foreground"
app:layout_collapseMode="parallax" />
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
app:layout_collapseMode="pin" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:behavior_overlapTop="90dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:id="@+id/lin"
android:nestedScrollingEnabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include layout="@layout/debit_card_item" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:layout_marginTop="40dp"
android:background="?attr/colorPrimary" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
寻呼机的片段位于 NestedScrollView 中,如下所示:
<?xml …Run Code Online (Sandbox Code Playgroud) android android-recyclerview android-coordinatorlayout android-collapsingtoolbarlayout android-nestedscrollview
android-collapsingtoolbarlayout ×10
android ×9
toolbar ×2
bottom-sheet ×1
googleio ×1
shadow ×1
webview ×1