Не хотите выделять вкладку по умолчанию - PullRequest
1 голос
/ 06 января 2012

У меня есть макет с изображением и списком.Под ними мне нужно добавить вкладки.Когда я использовал виджет вкладок, он выделяет первую вкладку и отображает результат активности вкладок под вкладками.Поэтому я должен остановить активность первой вкладки.При нажатии на вкладку следует вызывать только действие и переходить на другой экран.

Ниже приведен мой 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 ]

1 голос
/ 10 января 2012

Если вы не хотите, чтобы текущая вкладка была выделена, вы можете просто установить 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>
0 голосов
/ 06 января 2012

Просто не устанавливайте текущую вкладку в своей деятельности

tabHost.setCurrentTab(0);

...