ActionBar Sherlock,动作栏标签和片段

时间:2012-06-01 06:36:34

标签: android tabs fragment actionbarsherlock

我想为手机和平板电脑创建一个应用程序。我正在使用actiobBar sherlock库。我有一个MainActivity,它扩展了SherlockFragmentActivity。 MainActivity有一个仅包含选项卡的操作栏。  现在,我想为每个选项卡关联一个片段,这个片段应该有两个片段(列表片段和细节片段)。请建议我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

有几种方法,我只会解释一下。

您可以使用任何导航,ViewPager,TabAdapter ...... 这个想法是添加一层片段

例如,您的TabAdapter带有一个视图寻呼机:

    private ViewPager           _viewPager;
    private TabsAdapter         _tabsAdapter;

   _tabsAdapter = new TabsAdapter(this, _viewPager);
   _tabsAdapter.addTab(bar.newTab().setCustomView(getTabIndicator(getString(R.string.tle_tab_home), R.drawable.ic_menu_home)), FragmentAccueil.class, null);
   _tabsAdapter.addTab(bar.newTab().setCustomView(getTabIndicator(getString(R.string.tle_tab_directory), R.drawable.tab_list_icon)), ContainerFragmentAnnuaire.class, null);

ContainerFragmentAnnuaire是一个包含片段的布局

例如对于手机你将创建这个布局

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <fragment class="com.example.android.ContainerFragmentAnnuaire"
              android:id="@+id/list_frag"
              android:layout_width="match_parent"
              android:layout_height="match_parent"/>
</FrameLayout>

平板电脑你会创建这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/frags">
  <fragment class="com.example.android.ContainerFragmentAnnuaire"
            android:id="@+id/list_frag"
            android:layout_width="@dimen/titles_size"
            android:layout_height="match_parent"/>
  <fragment class="com.example.android.ContainerFragmentDetail"
            android:id="@+id/details_frag"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
</LinearLayout>

只需在好文件夹中添加布局

即可

手机

的res / layout / layout.xml

res / layout-large / layout.xml 平板电脑