Vamshi
Vamshi

Reputation: 1495

Do not want to highlight tab by default

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

Answers (2)

Bill Mote
Bill Mote

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

Amit
Amit

Reputation: 4000

Simply dont set the current tab in your activity

tabHost.setCurrentTab(0);

Upvotes: 0

Related Questions