Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 具有协调布局和AppBarLayout的Recyclerview_Android_Android Recyclerview_Recyclerview Layout - Fatal编程技术网

Android 具有协调布局和AppBarLayout的Recyclerview

Android 具有协调布局和AppBarLayout的Recyclerview,android,android-recyclerview,recyclerview-layout,Android,Android Recyclerview,Recyclerview Layout,根据下面的评论,我已经更改了我的布局。它正在工作,但当我转到recyclerview中的项目底部并尝试向上滚动时,它只会向上滚动到recyclerview的开头。我必须再次滚动到标题 <?xml version="1.0" encoding="utf-8"?> 编辑: 如果您需要instagram的精确设计,请查看以下内容: 单击选项卡按钮时,只需使用“隐藏和显示视图”,并为这两种视图分别设置布局管理器 private boolean gridClick = false

根据下面的评论,我已经更改了我的
布局
。它正在工作,但当我转到
recyclerview
中的项目底部并尝试向上滚动时,它只会向上滚动到
recyclerview
的开头。我必须再次滚动到
标题

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



编辑:

如果您需要instagram的精确设计,请查看以下内容:

单击选项卡按钮时,只需使用“隐藏和显示视图”,并为这两种视图分别设置布局管理器

 private boolean gridClick = false;


   case R.id.list_click:                       

                if(listClick) {                 // Check whether the tab is already clicked or not

                    Log.e("AlreadyClicked", "Test");

                } else {

                    Log.e("ClickedFirstTime", "Test");

                    loadPost();

                    ivGrid.setVisibility(View.GONE);      // Hiding grid recyclerview
                    ivList.setVisibility(View.VISIBLE);   // showing list recyclerview

                    rvGrid.setVisibility(View.GONE);      // Make grid recyclerview as gone
                    recyclerList.setVisibility(View.VISIBLE); // make listview as visible



                    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(this);       // Use separate layoutmanager for list recyclerview

                    recyclerList.setLayoutManager(mLayoutManager);
                    recyclerList.setItemAnimator(new DefaultItemAnimator());
                    recyclerList.setAdapter(friendsProfileUserPostitemsAdapter);

                    listClick = true;


                }

                break;

我认为你做得不对。不需要在RecyclerView项中添加TableLayout

你的代码应该是这样的

<android.support.design.widget.CoordinatorLayout>
     <android.support.design.widget.AppBarLayout>
          <android.support.design.widget.CollapsingToolbarLayout>

              <YourHeaderLayout />
              <android.support.design.widget.TabLayout />              

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

    <RecyclerView /> 
    <!-- OR -->
    <ViewPager />


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


如果您在此处显示
RecyclerView
,则您需要更改Tab press上的LayoutManager。或者您可以根据我的建议在
ViewPager
中放置两个带有列表和网格的
RecyclerView

,单击按钮,用所需布局初始化新适配器对象。@RahulSharma但是我如何仍然有
标题
?像现在这样将所需标题添加到新适配器有没有办法不使用
折叠工具栏布局?
我需要可以滚动的内容,类似于Instagram用户配置文件页面。您可以使用AppBarLayout而无需折叠ToolbarLayout。对于滚动,您可以使用android.support.v4.widget.NestedScrollView.@Esteban不了解标题滚动。关于标题滚动,您想说什么?当我滚动到底部,然后再滚动到顶部时,我只看到
回收视图的顶部,而不是整个布局。我已经找到了一些解决办法,但它并不能真正解决问题。你有什么建议吗?@Esteban你是说什么时候滚动到顶部你的标题布局是可见的。对吧?嗯,我不能访问这些列表,因为它们在不同的活页夹中。根据您的解决方案,我需要在第一个活页夹中隐藏/显示第二个活页夹中的项目。@Esteban我已经做过instagram设计。您只需在单个活动中使用4或5个按钮即可。只需根据该选项隐藏和显示视图。您需要像用户协调器一样进行布局。永远不要使用嵌套滚动视图。这样做很糟糕recyclerview.@Esteban检查我编辑的帖子。当你运行该示例时,你可以得到一些清晰的标识。谢谢,这非常有用,尽管这里的滚动也不顺畅。你不可能一蹴而就达到顶峰(@Esteban)我想在这个样本中,他们也是这样做的,只是看起来。
<?xml version="1.0" encoding="utf-8"?>