我想做什么:
发生了什么:
问题::
注意: 我知道不建议使用嵌套方式,但我需要获得此架构
架构我想要得到它:
答案 0 :(得分:1)
首先,您可以在Google https://developer.android.com/samples/SlidingTabsBasic/project.html中试用此示例。它还包含SlidingTabLayout类,如果你使用不同的东西,请尝试它。
此项目与您的(具有相同布局)类似,但导航抽屉除外。
所以,让我们做以下事情:
您的主要布局可能如下所示:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:id="@+id/drawer"
android:layout_width="@dimen/drawer_width"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="@color/drawer_back"
android:gravity="left|center_vertical"
android:orientation="vertical">
<ListView
android:id="@+id/left_drawer"
android:layout_width="@dimen/drawer_width"
android:layout_height="0dip"
android:layout_gravity="left"
android:layout_weight="1"
android:background="@color/drawer_back"
android:choiceMode="singleChoice"
android:clipToPadding="false"
android:divider="@android:color/darker_gray"
android:dividerHeight="1dp" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
对于带有滑动标签的片段,请使用以下布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<yourpackage.slidinglayout.SlidingTabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"/>
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:background="@drawable/toolbar_shadow" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:layout_marginTop="@dimen/small_padding"
android:background="@android:color/white"/>
</LinearLayout>
之后你应该为你的ViewPager等创建一个片段,但我想,你已经完成了它。
带有滑动标签和ViewPager的片段 - 由您决定。
在单击滑动标签的抽屉项目上,只需使用FragmentTransaction:
mCurrentFragment = new SlidingTabsFragment();
mTransaction.replace(R.id.content_fragment, mCurrentFragment);
mTransaction.commit();