Big*_*dad 4 android android-appbarlayout android-tablayout
在recyclerview中单击某个项目时,我会调用它
appbar.removeView(tabs)
该视频显示了会发生什么
它似乎完全删除TabLayout没有动画,然后将其添加回来,然后使用动画删除它.我放慢了转变速度,以显示它的作用.
当像这样添加它们时也会发生这种情况
if (tabs.parent != null) {
(tabs.parent as ViewGroup).removeView(tabs)
}
appbar.addView(tabs)
appbar.setExpanded(true, true)
Run Code Online (Sandbox Code Playgroud)
这是我的布局
<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/coordinator_main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
app:elevation="0dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/MyToolbar"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabTextAppearance="@style/TabText"
android:layout_marginRight="@dimen/small_spacing"
android:layout_marginLeft="@dimen/small_spacing"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabIndicatorHeight="2dp"
app:layout_scrollFlags="enterAlways"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/appbar"
app:layout_behavior="@string/appbar_scrolling_view_behavior" >
<***.***.CustomViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
从视频来看,看起来有三个片段根据其加载TabLayout.
MyPhotosFragment,MyAlbumsFragment和MyFavouritesFragment.
如果我理解正确,您将被放置TabLayout在活动内部,并且这三个片段直接加载到活动中.在抽屉上选择"隐藏相册"时,会显示/添加应用栏,并在选择其他项目时隐藏/删除该应用栏.
你应该做的是制作一个充当容器的新片段.我们称之为HiddenAlbumsFragment.然后,你应该删除TabLayout和ViewPager从活动,并把它里面的HiddenAlbumsFragment.单击选项卡项时,HiddenAlbumsFragment应将相应的片段加载为子片段.然后,当您从抽屉中选择一个时,将HiddenAlbumsFragment替换为另一个,则tablayout将自动消失.
| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |