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



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

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

如果您从不想突出显示当前选项卡,那么您只需将两个图形设置为相同即可。

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

只需不在活动中设置当前选项卡

tabHost.setCurrentTab(0);

相关内容

  • 没有找到相关文章

最新更新