如何在Android中同时加载标签栏的所有标签

时间:2012-02-21 11:45:01

标签: android tabbar

我在tabbar中有四个标签。每当我启动我的应用程序时,我都需要运行标签栏的所有标签(四个),因为所有标签都包含应在应用程序启动时加载的网页视图。但是第一个标签应该突出显示。我用过

setCurrentTab(0); 

加载第一个标签,但是我无法在不点击的情况下加载剩余标签。

1 个答案:

答案 0 :(得分:0)

要执行此操作,请先创建一个xml文件。示例文件如下所示。

<?xml version="1.0" encoding="utf-8"?>
<TabHost android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:id="@android:id/tabhost"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/background">
    <TabWidget android:layout_width="fill_parent" android:id="@android:id/tabs"
        android:layout_height="wrap_content" />
    <FrameLayout android:layout_width="fill_parent" android:id="@android:id/tabcontent"
        android:layout_gravity="bottom" android:paddingTop="70dp"
        android:layout_height="match_parent">

    <ScrollView android:layout_height="fill_parent" android:id="@+id/viewTab1"
        android:layout_width="match_parent">
        <!-- Your view you want -->

    </ScrollView>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:id="@+id/viewTab2">
        <!-- Your view you want -->

    </LinearLayout>

    <!-- Add as many view you want with unique id -->
</FrameLayout>

每个布局都将引用一个独特的布局。

在主要活动中使用以下

TabHost tabHost = getTabHost(); 
TabSpec spec1 = tabHost.newTabSpec("FirstTabView");
TabSpec spec2 = tabHost.newTabSpec("SecondTabView");

spec1.setContent(R.id.viewTab1);
spec1.setIndicator("First Tab");

spec2.setIndicator("Second Tab");
spec2.setContent(R.id.viewTab2);

tabHost.addTab(spec1);
tabHost.addTab(spec2);

tabHost.setup();

您可以添加所需数量的标签。这一切都将同时初始化。

我希望这可以帮助你:)