我想将标签放在标签下。基本上我有一个父标签说 Tab1 和 Tab2。在 Tab1 下,我还想要 2 个选项卡:Tab1a 和 Tab1b 以及 Tab2 下的类似 2 个选项卡。我有以下 xml 文件结构:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tabHost"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<TabWidget
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs"
android:tabStripEnabled="false"
android:background="@drawable/tabwstyle"/>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabcontent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="60dp"
android:id="@+id/tab1">
<TabHost
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tabHost_pb">
<TabWidget
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs"
android:tabStripEnabled="false"
android:background="@drawable/tabwstyle"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="60dp"
android:id="@+id/tab1a">
<FrameLayout
android:id="@+id/frame1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:dividerHeight="10dp"
android:paddingTop="15dp"
android:smoothScrollbar="true"/>
</FrameLayout>
<FrameLayout
android:id="@+id/frame2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone">
<TextView
android:layout_width="fill_parent"
android:layout_height="50dp"
android:text="@string/testtxt"
android:id="@+id/frame2text"/>
</FrameLayout>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="60dp"
android:id="@+id/tab1b">
<TextView
android:layout_width="fill_parent"
android:layout_height="50dp"
android:text="@string/testtxt"
android:id="@+id/tab1btext"/>
</LinearLayout>
</TabHost>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="60dp"
android:id="@+id/tab2">
<TextView
android:layout_width="fill_parent"
android:layout_height="50dp"
android:text="@string/testtxt"
android:id="@+id/tab2text"/>
</LinearLayout>
</FrameLayout>
</TabHost>
我想要工作的java代码:
TabHost tabhost=(TabHost) findViewById(R.id.tabHost);
tabhost.setup();
tabhost.getTabWidget().setDividerDrawable(R.drawable.divider2);
TabSpec spec1=tabhost.newTabSpec("Tab 1");
spec1.setContent(R.id.tab1);
spec1.setIndicator("Pain Box");
TabSpec spec2=tabhost.newTabSpec("Tab 2");
spec2.setIndicator("Pain List");
spec2.setContent(R.id.tab2);
tabhost.addTab(spec1);
tabhost.addTab(spec2);
//Keep below after Add spec or crash
tabhost.getTabWidget().getChildTabViewAt(0).setBackgroundDrawable(null);
tabhost.getTabWidget().getChildTabViewAt(1).setBackgroundDrawable(null);
TabHost tabhost_pb=(TabHost) findViewById(R.id.tabHost_pb);
tabhost_pb.setup();
tabhost_pb.getTabWidget().setDividerDrawable(R.drawable.divider2);
TabSpec spec_pb1=tabhost_pb.newTabSpec("Tab1a");
spec_pb1.setContent(R.id.tab1a);
spec_pb1.setIndicator("All");
TabSpec spec_pb2=tabhost_pb.newTabSpec("Tab1b");
spec_pb2.setContent(R.id.tab1b);
spec_pb2.setIndicator("Followers");
tabhost_pb.addTab(spec_pb1);
tabhost_pb.addTab(spec_pb2);
tabhost_pb.getTabWidget().getChildTabViewAt(0).setBackgroundDrawable(null);
tabhost_pb.getTabWidget().getChildTabViewAt(1).setBackgroundDrawable(null);
现在,当我评论第一个选项卡下方的所有部分时,代码工作正常,即。评论从以下开始的所有行:
TabHost tabhost_pb=(TabHost) findViewById(R.id.tabHost_pb);
所以当我评论我的标签时,我的标签没有在 Tab1 下呈现,但它们留下了一个空格