Tag: android coordinatorlayout

带有FrameLayout容器的AppBarLayout作为滚动内容不起作用

我试图使用最新的devise库,使我的工具栏隐藏/滚动显示。 我的问题是滚动的内容,我在片段,我只是注入到FrameLayout容器,它不起作用。 这是我的活动: <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.CoordinatorLayout android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <include layout="@layout/layout_toolbar" /> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> <FrameLayout android:id="@+id/navigation_drawer_container" android:layout_width="@dimen/navigation_drawer_width" android:layout_height="match_parent" android:layout_gravity="start" tools:layout="@layout/fragment_nav_drawer_anon" /> 和我的片段: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/pull_to_refresh" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> <TextView android:id="@android:id/empty" android:layout_width="match_parent" android:layout_height="match_parent" android:textSize="18sp" […]

CoordinatorLayout + AppBarLayout + NavigationDrawer

将CoordinatorLayout与AppBarLayout和NavigationDrawer结合使用时,我遇到了布局问题。 问题是,NavigationDrawer及其内容隐藏在工具栏后面。 我已经做了大量的研究,并尝试了很多重组,但是没有一个“解决scheme”解决了我的问题。 演示可以在这个小小的Webmvideo中find: https ://goo.gl/yWj3VM 基本风格是Theme.AppCompat.Light.NoActionBar 。 我的activity_overview.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" android:id="@+id/overview_coordinator_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimaryDark" app:layout_scrollFlags="enterAlways|scroll" /> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:focusableInTouchMode="true"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/lorem_ipsum_long" /> </android.support.v4.widget.NestedScrollView> <android.support.design.widget.NavigationView android:id="@+id/nvView" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/white" app:headerLayout="@layout/nav_header" app:menu="@menu/navigationdrawer_main" /> […]

如何以编程方式为工具栏设置app:layout_scrollFlags

我的应用程序有一个viewpager和4个选项卡,每个选项卡有很多片段。 但是我只想让我的工具栏滚动向上/向下滚动recyclerview在2个特定的选项卡。 但我不知道如何阻止其他选项卡的工具栏滚动。 我试图导入每个片段的工具栏,但似乎我不能这样做。 任何人有想法解决这个问题?

RecyclerView中带有折叠工具栏的Android字母快速滚动视图

在我的应用程序中,我有这样的activity_main.xml: <Coordinator Layout> <AppBarLayout> <CollapsingToolbarLayout> <ImageView/> <Toolbar/> </CollapsingToolbarLayout> </AppBarLayout> <RecyclerView/> </Coordinating Layout> Layout.xml —– >>> <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:ads="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/theme_background" android:id="@+id/drawerlayout" > <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" android:id="@+id/activity_main_id" tools:context="objectdistance.ajai.ram.sita.gallery.MainActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp" android:fitsSystemWindows="true"> <ImageView android:id="@+id/imagetoolbar" android:layout_width="match_parent" android:layout_height="200dp" […]

浮动操作button没有完全显示在片段内

我在Fragment中使用FABbutton和RecyclerView。 这个片段是一个TabViewPager的实例。 我遇到了FABbutton的问题。 我已经把RecyclerView和fabbutton放在一个FrameLayout里,FABbutton位于右下方。 现在我面对的问题是FABbutton不完全可见。 它的一半是隐藏的,如下面的截图所示。 任何人都可以帮我解决这个问题。 提前致谢。 注意:一旦滚动,FAB正确alignment。 只有在理想的情况下(滚动完成之前)才会出现问题。 fragment.xml之 <?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" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="10dp" app:backgroundTint="@color/red" android:src="@drawable/ic_done"/> </FrameLayout> tabviewpagerlayout.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" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <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_scrollFlags="scroll|enterAlways" /> […]

修复CoordinatorLayout中的底部条

我有一个CoordinatorLayout包含AppBarLayout和一个包含片段的FrameLayout 。 其中一个片段包含顶部的TabLayout ,一个TabLayout和底部的一个“自制”工具栏。 AppBarLayoutconfiguration了app:layout_scrollFlags="scroll|enterAlways" 我的问题是两个“工具栏”隐藏滚动时,AppBarLayout和我的“自制”工具栏在底部。 这是目前的行为 我想修复底部“自制”工具栏,以保持可见,但我无法实现它。 这是片段布局的XML <?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" > <android.support.design.widget.TabLayout android:id="@+id/toolbarfilter" android:layout_width="match_parent" android:background="@color/azul_asde" app:tabMode="fixed" app:tabMaxWidth="0dp" android:elevation="4dp" app:tabIndicatorColor="@color/verde_pastel" android:layout_height="wrap_content" /> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipeContainer" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <android.support.v7.widget.RecyclerView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> <LinearLayout android:id="@+id/toolbarselection" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="10dp" android:paddingBottom="10dp" android:background="@color/azul_asde" android:elevation="4dp" android:visibility="visible" > <ImageView android:id="@+id/delete" android:layout_width="0dp" android:layout_height="wrap_content" […]

CoordinatorLayout使用ViewPager的RecyclerView

我正在使用android.support.design的视图CoordinatorLayout 。 我想附加app:layout_behavior到片段的RecyclerView ? 在Google给出的例子中,他们只将其附加到与CoordinatorLayout相连的同一XML文件的RecyclerView中。 有没有办法将CoordinatorLayout附加到ViewPager的片段的RecyclerView ? 该示例位于Android开发人员博客的此博客文章中。

在CoordinatorLayout中使用时,Android页脚会滚动屏幕

滚动RecyclerView时,我有一个AppBarLayout滚动屏幕。 在RecyclerView下面有一个RelativeLayout ,它是一个页脚。 页脚只有在滚动后才显示 – 它的行为就像它一样 layout_scrollFlags="scroll|enterAlways" 但它没有任何滚动标志 – 这是一个错误,或者我做错了什么? 我希望它始终可见 在滚动之前 滚动后 更新 在这个问题上打开了一个谷歌问题 – 它被标记为“WorkingAsIntended”这仍然没有帮助,因为我想要一个片段内的页脚的工作解决scheme。 更新2 你可以在这里find活动和片段xmls – 请注意,如果activity.xml第34行(包含app:layout_behavior="@string/appbar_scrolling_view_behavior"被注释掉了,文本结束从开始就是可见的),否则只有在滚动

尽pipeRecyclerView没有足够的内容滚动,但AppBarLayout中的工具栏是可滚动的

是否真的打算在AppBarLayout的工具栏可滚动,虽然“appbar_scrolling_view_behavior”主容器没有足够的内容真正滚动? 到目前为止我所testing的是: 当我使用一个NestedScrollView(“wrap_content”属性)作为主容器和一个TextView作为子,AppBarLayout工作正常,不滚动。 但是,当我使用RecyclerView只有几个条目和“wrap_content”属性(以便不需要滚动)时,即使RecyclerView从未收到滚动事件(使用OnScrollChangeListenertesting),AppBarLayout中的工具栏也是可滚动的)。 这是我的布局代码: <android.support.design.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"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:theme="@style/ToolbarStyle" /> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recycler" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 有以下效果,工具栏是可滚动的,虽然它不是必需的: 我还find了一个方法来处理这个问题,通过检查所有的RecyclerView项是否可见并使用RecyclerView的setNestedScrollingEnabled()方法。 尽pipe如此,它看起来更像是一个打算给我的bug。 有什么意见? :d 编辑#1: 对于可能对我当前的解决scheme感兴趣的人,由于LayoutManager在调用方法来查找时始终返回-1,所以必须将setNestedScrollingEnabled()逻辑置于Handler的postDelayed()方法中,延迟时间为5 ms是否第一个和最后一个项目是可见的。 我在onStart()方法中使用这段代码(在我的RecyclerView被初始化之后),每次发生RecyclerView的内容更改之后。 final LinearLayoutManager layoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager(); new Handler().postDelayed(new Runnable() { @Override public void run() { […]

如何模仿Google地图的底层3阶段行为?

背景 我被分配到创build一个UI,其行为类似于Google地图显示search结果的底部表单。 它有三个不同的阶段: 底部内容。 上部区域仍然是可触摸的,不会在底部滚动任何东西 全屏幕的内容,而上面的区域有一个大头。 全屏幕的内容,而上面的区域只有工具栏。 以下是我在Google地图上讨论的内容: 问题 事情是,底部表不是devise图书馆的一部分(虽然这是要求, 在这里 )。 不仅如此,UI看起来相当复杂,需要在多个阶段处理工具栏。 我试过了 我已经find了一个好的(足够的)底部图纸库( 在这里 ),并添加了内容到它的片段样本,与材料devise样本(如这里 )上显示的大致相同的视图,有一个CollapsingToolbarLayout将小心阶段2 + 3。 在我制作的应用程序中,我也必须在滚动时移动一个图标,但是我认为如果我能够成功完成其他任务,这应该很简单。 代码如下: fragment_my.xml <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:id="@+id/main_content" 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.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="@dimen/detail_backdrop_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> <ImageView android:id="@+id/backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" app:layout_collapseMode="parallax"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" […]