默认情况下不想突出显示选项卡

时间:2012-01-06 13:55:05

标签: android tabs tabwidget

我有一个带有图像和列表视图的布局。在他们下面我需要添加标签。 当我使用tab小部件时,它会突出显示第一个选项卡,并在选项卡下方显示该选项卡活动结果 所以我必须停止第一个标签的活动。单击选项卡时,只应调用活动,它应该转到另一个屏幕。

以下是我的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);

2 个答案:

答案 0 :(得分:1)

如果您不想突出显示当前选项卡,则只需将2个图形设置为相同。

<?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>

答案 1 :(得分:0)

根本不要在活动中设置当前标签

tabHost.setCurrentTab(0);

相关问题