我正在使用标签主机来显示标签,但即使我只是将其拖放到我的布局上并运行它,它没有显示标签,它显示白色屏幕,我猜这是第一个线性布局标签视图。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
<LinearLayout
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
<LinearLayout
android:id="@+id/tab3"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
当我在模拟器或手机(华为Ascend P1)上面运行时,没有显示任何标签。
答案 0 :(得分:5)
这种情况的发生仅仅是因为您无法仅使用xml代码创建TabHost。您需要将TabSpec添加到TabHost,如下所示:
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
TabSpec tab1 = tabHost.newTabSpec("First Tab");
TabSpec tab2 = tabHost.newTabSpec("Second Tab");
TabSpec tab3 = tabHost.newTabSpec("Third Tab");
tab1.setIndicator("Tab1");
tab1.setContent(new Intent(this,TabActivity1.class));
tab2.setIndicator("Tab2");
tab2.setContent(new Intent(this,TabActivity2.class));
tab3.setIndicator("Tab3");
tab3.setContent(new Intent(this,TabActivity3.class));
tabHost.addTab(tab1);
tabHost.addTab(tab2);
tabHost.addTab(tab3);
答案 1 :(得分:0)
这个答案适用于像我一样开始使用Kotlin进行Android开发的人。以下代码使用了三个ID,您需要将它与视图的XML文件进行匹配。 首先如图书馆所述:
如果使用findViewById()加载TabHost,则在添加选项卡之前调用setup()。但是:您不需要在TabActivity中的getTabHost()之后调用setup()。
.video-responsive{
overflow:hidden;
padding-bottom:56.25%;
position:relative;
height:0;
max-width: 800px;
margin: 0 auto;
}