У меня есть макет с изображением и списком.Под ними мне нужно добавить вкладки.Когда я использовал виджет вкладок, он выделяет первую вкладку и отображает результат активности вкладок под вкладками.Поэтому я должен остановить активность первой вкладки.При нажатии на вкладку следует вызывать только действие и переходить на другой экран.
Ниже приведен мой xml-код:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView android:id="@+id/imageView1"
android:background="@drawable/banner"
android:layout_width="323dp"
android:layout_height="100dp"></ImageView>
<RelativeLayout android:id="@+id/relativeLayout1" android:layout_height="28dp" android:layout_width="fill_parent">
<ImageView android:layout_alignParentTop="true" android:onClick="mapfunction" android:layout_width="wrap_content" android:id="@+id/imageView2" android:src="@drawable/map1" android:layout_height="100dp" android:layout_marginRight="10dp" android:layout_toLeftOf="@+id/textView1"></ImageView>
<ImageView android:layout_width="wrap_content" android:id="@+id/imageView3" android:src="@drawable/listtab" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginRight="10dp" android:layout_toLeftOf="@+id/textView2"></ImageView>
<TextView android:id="@+id/textView2" android:text="LIST" android:layout_width="wrap_content" android:textStyle="bold" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/imageView2" android:layout_marginRight="14dp"></TextView>
<TextView android:id="@+id/textView1" android:text="MAP" android:layout_width="wrap_content" android:textStyle="bold" android:layout_height="wrap_content" android:layout_alignBottom="@+id/imageView3" android:layout_alignParentRight="true" android:layout_marginRight="31dp"></TextView>
</RelativeLayout>
<ListView android:id="@id/ListView01" android:layout_width="fill_parent" android:layout_height="253dp"></ListView>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent" android:layout_height="44dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="34dp"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:padding="5dp" android:layout_height="fill_parent"/>
</TabHost>
</LinearLayout>
Ниже приведен код активности для отображения вкладок.
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
intent = new Intent().setClass(this, Contacts.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("places").setIndicator("PLACES",
res.getDrawable(R.drawable.places))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, Contacts.class);
spec = tabHost.newTabSpec("camera").setIndicator("CAMERA",
res.getDrawable(R.drawable.camera))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);