我尝试在Android中创建标签。我的主要活动包含带有导航抽屉(Listview)的视图和内容的framelayout,因此我需要为每个菜单项使用Fragments。我认为这是构建应用程序的常用方法,其中有一个"左侧滑出"菜单?
在我的main_fragment(第二个菜单项app.Fragment)中,我需要一个带有2个标签的标签控件。在每个选项卡中,我需要加载一个片段(app.Fragment,因为1个片段包含一个仅适用于app.Fragment的地图v2(在我的例子中))。所以我有一个rab_mapview和一个tab_listview片段
tab_Mapview和tab_Listview选项卡片段都是app.Fragment片段。 我挣扎了2天才能完成这个......但是我无法修复它:&#39 ;-(我常常遇到support.v4 .........片段和app.Fragment兼容性问题或者那个问题我无法得到我发现在片段中工作的解决方案(仅在活动中,我无法在FrameLayout中加载)
我发现并尝试了以下内容:
在我的情况下哪一个是正确的,我该如何以正确的方式实现它?
我的main_activity布局
<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/fr_content_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<ListView
android:id="@+id/lv_menu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="left">
</ListView>
</android.support.v4.widget.DrawerLayout>
我的main_fragment布局:
<FrameLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="aaeu.app.presentationlayer.MainFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="450dp"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:background="@android:color/white" />
</LinearLayout>
<LinearLayout
android:weightSum="3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="450dp">
<Button
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/all_alerts"
android:id="@+id/btn_all_alerts"/>
<Button
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/amber_alerts"
android:id="@+id/btn_ambert_alerts"/>
<Button
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/endangered_missings"
android:id="@+id/btn_missings"/>
</LinearLayout>
</FrameLayout>
我的main_fragment中的onCreateView。这段代码无论如何都不起作用
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_main, container, false);
// Get the ViewPager and set it's PagerAdapter so that it can display items
tabLayout = (TabLayout)v.findViewById(android.R.id.tabhost);
ViewPager viewPager = (ViewPager) v.findViewById(R.id.viewpager);
viewPager.setAdapter(new SampleFragmentPagerAdapter(getFragmentManager(), getContext()));
// Give the TabLayout the ViewPager
TabLayout tabLayout = (TabLayout) v.findViewById(R.id.sliding_tabs);
tabLayout.setupWithViewPager(viewPager);
return v;
}
Iam new with android所以当有人可以发布一个简单的(工作)示例时,它会很棒。
如果它是可行的,我想在这种情况下使用最佳实践。如果有人能够很好地制作这个简单的例子会很棒,那么我可以看到这种情况的最佳实践如何在细节中运作,我也可以将它用于其他项目。