2014-12-29 94 views
0

我創建了帶有Tab和TabHost的android應用程序,但用戶無法通過滑動在標籤之間切換。 我爲此應用程序使用TabActivity。用戶大多數點擊選項卡以在選項卡或活動之間切換。通過在Android中滑動標籤之間切換

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

TabActivity已棄用的超過三年。請使用其他標籤解決方案。特別是如果您希望可以輕掃標籤內容,請使用ViewPager作爲選項卡的標籤內容和選項卡式指示器(例如,PagerTabStrip)。