通过在android中滑动在标签之间切换

时间:2014-12-29 17:13:43

标签: android tabs android-tabhost swipe

我用tab和TabHost创建了android应用程序,但用户无法通过滑动在标签之间切换。 我在这个应用程序中使用TabActivity。用户大多数都会单击选项卡以在选项卡或活动之间切换。

MainActivity.Java:

public class MainActivity extends TabActivity {

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Resources ressources = getResources(); 
    TabHost tabHost = getTabHost(); 

    //Home Intent
    Intent intentHome = new Intent().setClass(this, HomeActivity.class);
    TabSpec tabSpedHome = tabHost
            .newTabSpec("Home")
            .setIndicator("",ressources.getDrawable(R.drawable.icon_home_config))
            .setContent(intentHome);

    //Search Intent
    Intent intentSearch = new Intent().setClass(this, SearchActivity.class);
    TabSpec tabSpedSearch = tabHost
            .newTabSpec("Search")
            .setIndicator("",ressources.getDrawable(R.drawable.icon_search_config))
            .setContent(intentSearch);

    //Archive Intent
    Intent intentArchive = new Intent().setClass(this, ArchiveActivity.class);
    TabSpec tabSpedArchive = tabHost
            .newTabSpec("Archive")
            .setIndicator("",ressources.getDrawable(R.drawable.icon_archive_config))
            .setContent(intentArchive);

    //Download Intent
    Intent intentDownload = new Intent().setClass(this, DownloadActivity.class);
    TabSpec tabSpedDownload = tabHost
            .newTabSpec("Download")
            .setIndicator("",ressources.getDrawable(R.drawable.icon_download_config))
            .setContent(intentDownload);

    //Conctactus Intent
    Intent intentConctactus = new Intent().setClass(this, ContactusActivity.class);
    TabSpec tabSpedConctactus = tabHost
            .newTabSpec("Conctact us")
            .setIndicator("",ressources.getDrawable(R.drawable.icon_contactus_config))
            .setContent(intentConctactus);

    //AddAllTab
    tabHost.addTab(tabSpedHome);
    tabHost.addTab(tabSpedSearch);
    tabHost.addTab(tabSpedArchive);
    tabHost.addTab(tabSpedDownload);
    tabHost.addTab(tabSpedConctactus);

    //Set Default Tab
    tabHost.setCurrentTab(0);
}

}

和activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
    </LinearLayout>
</TabHost>

1 个答案:

答案 0 :(得分:1)

TabActivity已被弃用三年。请使用其他标签解决方案。特别是如果您希望能够刷选选项卡内容,请使用ViewPager作为选项卡内容,并使用选项卡式指示符(例如,PagerTabStrip)作为选项卡。