如何在android应用程序的每个页面上添加tabhost控件?
我想在android应用程序的每个页面上显示和处理tabhost控件的事件,而不必一次又一次地创建它,因为在asp.net中,我们有母版页概念,我们可以在母版页上放置我们的常用控件,android中是否有任何内容,因此,我可以将tabcontrol放在那里。您应该使用TabActivity扩展活动,并使用TabHost和TabSpec xml的一个例子是如何在android应用程序的每个页面上添加tabhost控件?,android,Android,我想在android应用程序的每个页面上显示和处理tabhost控件的事件,而不必一次又一次地创建它,因为在asp.net中,我们有母版页概念,我们可以在母版页上放置我们的常用控件,android中是否有任何内容,因此,我可以将tabcontrol放在那里。您应该使用TabActivity扩展活动,并使用TabHost和TabSpec xml的一个例子是 <?xml version="1.0" encoding="utf-8"?> <TabHost android:la
<?xml version="1.0" encoding="utf-8"?>
<TabHost android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost">
<LinearLayout android:id="@+id/LinearLayout01"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
</TabWidget>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
您应该使用TabActivity扩展活动,并使用TabHost和TabSpec xml的一个例子是
<?xml version="1.0" encoding="utf-8"?>
<TabHost android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost">
<LinearLayout android:id="@+id/LinearLayout01"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
</TabWidget>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
我知道我们可以扩展tabactivity,我已经创建了tabhost,但我不想为每个页面一次又一次地创建tab,如果我在应用程序的每个页面上扩展tabactivity,这意味着我为每个页面创建新的tab控件,但是,我只想创建一次,并在每个页面上使用它作为asp.netWell中的母版页概念。您不必为每个活动扩展tabactivity,而是创建一个从tabactivity扩展而来的活动。然后,当您使用TabHost时,请记住它保留了所有选项卡。然后是TabSpec,它基本上使您能够设置每个选项卡的内容。在setIndicator()和setContent()的帮助下,每个选项卡的名称和内容。完成所有这些之后,您必须将这些tabSpec添加到tabHost.tabSpec firstTabSpec=tabHost.newTabSpec(“tabIndicator1”);firstTabSpec.setIndicator(“First Tab”).setContent(新的意图(这个,FirstTab.class));如您所见,您只需在此处调用另一个活动假设我单击第一个选项卡,它将打开一个包含按钮的页面&当我单击该按钮时,登录页面将打开&现在我希望登录页面上的tabcontrol不重新创建它。因此,您希望您的第一个选项卡屏幕和登录页面都位于同一选项卡下?我没有尝试过这一点,但我认为这会解决你的问题我知道我们可以扩展tabactivity,我已经创建了tabhost,但我不想为每个页面一次又一次地创建tab,如果我在应用程序的每个页面上扩展tabactivity,这意味着我为每个页面创建新的tab控件,但是,我只想创建一次,并在每个页面上使用它作为asp.netWell中的母版页概念。您不必为每个活动扩展tabactivity,而是创建一个从tabactivity扩展而来的活动。然后,当您使用TabHost时,请记住它保留了所有选项卡。然后是TabSpec,它基本上使您能够设置每个选项卡的内容。在setIndicator()和setContent()的帮助下,每个选项卡的名称和内容。完成所有这些之后,您必须将这些tabSpec添加到tabHost.tabSpec firstTabSpec=tabHost.newTabSpec(“tabIndicator1”);firstTabSpec.setIndicator(“First Tab”).setContent(新的意图(这个,FirstTab.class));如您所见,您只需在此处调用另一个活动假设我单击第一个选项卡,它将打开一个包含按钮的页面&当我单击该按钮时,登录页面将打开&现在我希望登录页面上的tabcontrol不重新创建它。因此,您希望您的第一个选项卡屏幕和登录页面都位于同一选项卡下?我没有尝试过这一点,但我认为这会解决你的问题