添加视图到选项卡Vs将选项添加到选项卡android

时间:2012-05-02 12:12:43

标签: android tabs android-tabactivity

我在我的应用中设计标签。我很困惑是否使用tab的活动或只是使用视图

哪一个是tablayout的更好方式

我很困惑..

我对标签很新,并且还在学习android中的标签布局,所以我的问题可能有点天真,所以请耐心等待:)

3 个答案:

答案 0 :(得分:4)

回答“标签布局中的活动或视图”的问题

这就是android教程sais:

  

您可以通过以下两种方式之一实现标签内容:使用标签   在同一个Activity中交换视图,或使用选项卡进行更改   完全独立的活动之间。你想要哪种方法   应用程序将取决于您的需求,但如果每个选项卡提供一个   不同的用户活动,然后使用单独的可能是有意义的   每个选项卡的活动,以便您可以更好地管理应用程序   在离散组中,而不是一个庞大的应用程序和布局。   Android tablayout tutorial

我强烈建议您按照本教程使用,然后尝试为您的应用实施自己的版本。

以下是代码示例;

public class TabHostExample extends TabActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.testtabs); 

    TabHost tabHost = getTabHost();
    TabHost.TabSpec spec;
    Intent content;

    spec = tabHost.newTabSpec("test1"); //set a title for the tab
    spec.setIndicator("test1"),
            getResources().getDrawable(R.drawable.ic_dialog_alert)); //set an icon for tab
    content = new Intent(this, ExampleActivityOne.class);
    spec.setContent(content);
    tabHost.addTab(spec);

    spec = tabHost.newTabSpec("test2")); //set a title for the tab
    spec.setIndicator("test2"),
            getResources().getDrawable(R.drawable.ic_dialog_info)); //set an icon for the tab
    content = new Intent(this, ExampleActivityTwo.class);
    spec.setContent(content);
    tabHost.addTab(spec);

    tabHost.setCurrentTab(0);
}

}

    <TabHost
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@android:id/tabhost">
    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    >   
        <TabWidget
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@android:id/tabs" 
        />
        <FrameLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:id="@android:id/tabcontent" 
        />
    </LinearLayout>
</TabHost>

教程中的一些额外信息:

framelayout是每个标签的活动内容。

  

请注意,TabWidget和FrameLayout元素分别具有IDs标签和tabcontent。必须使用这些名称,以便TabHost可以检索对每个名称的引用。它完全符合这些名称。

因此,使用此代码,您可以对选项卡布局进行基本设置,接下来要执行的操作是将活动附加到选项卡。您可以像平常一样使用活动,对于这些活动,您可以像往常一样扩展活动,并在onCreate / onResume中构建布局

如果您需要更多信息或更多解释,请发表评论。我认为大多数代码都是自我解释的。

我刚刚注意到我的代码几乎是教程页面的精确副本。 我实际上在我的应用程序中使用此代码,具有不同的活动名称等。它工作得很好。我推荐它。积分归Android团队所有。

答案 1 :(得分:1)

你必须使用活动。每个标签都有活动。 developer.android.com上提供了很好的教程。试试this one here

答案 2 :(得分:1)