Reputation: 1495
I have a layout with image and listview. Below them i need to add tabs. When i used tab widget it is highlighted first tab and displaying that tab activity result below the tabs. So i have to stop the activity of the first tab. When clicking on tab only the activity should be called and it should go to another screen.
Below is my xml code:
<?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>
Below is my activity code for displaying the tabs.
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);
Upvotes: 1
Views: 1396
Reputation: 12823
If you never want the current tab highlighted then you can simply set the 2 graphics the same.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/ic_tab_files_white"
android:state_selected="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/ic_tab_files_white" />
</selector>
Upvotes: 1
Reputation: 4000
Simply dont set the current tab in your activity
tabHost.setCurrentTab(0);
Upvotes: 0