Example of using Android tabs with Views instead of Activities?

后端 未结 2 978
北海茫月
北海茫月 2020-12-07 14:05

The Android Developers TabWidget tutorial says the following:

\"You can implement your tab content in one of two ways: use the tabs to swap Views within the same Act

相关标签:
2条回答
  • 2020-12-07 14:29

    I used this one and it was fine for me http://www.codeproject.com/Articles/107693/Tabbed-Applications-in-Android

    0 讨论(0)
  • 2020-12-07 14:42

    I think in the .setContent method of each tab you pass in the view you wish to use:

    TabHost.TabSpec spec1 = tabs.newTabSpec("tag1");
    spec1.setContent(R.id.AnalogClock01);
    spec1.setIndicator("Analog Clock");
    

    Here's an example I found awhile back:

        <?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"
    >
    
      <TabHost android:id="@+id/TabHost01" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <TabWidget android:id="@android:id/tabs" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <FrameLayout android:id="@android:id/tabcontent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="65px">
          <AnalogClock android:id="@+id/AnalogClock01" android:layout_width="wrap_content" android:layout_height="wrap_content"></AnalogClock>
          <DigitalClock android:text="DigitalClock01" android:id="@+id/DigitalClock01" android:layout_width="wrap_content" android:layout_height="wrap_content"></DigitalClock>
        </FrameLayout>
      </TabHost>
    </LinearLayout>
    

    And the Java code for this example is as follows:

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TabHost;
    
    public class tabexample extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            TabHost tabs = (TabHost)findViewById(R.id.TabHost01);
    
            tabs.setup();
    
            TabHost.TabSpec spec1 = tabs.newTabSpec("tag1");
    
            spec1.setContent(R.id.AnalogClock01);
            spec1.setIndicator("Analog Clock");
    
            tabs.addTab(spec1);
    
            TabHost.TabSpec spec2 = tabs.newTabSpec("tag2");
            spec2.setContent(R.id.DigitalClock01);
            spec2.setIndicator("Digital Clock");
    
            tabs.addTab(spec2);
        }
    }
    
    0 讨论(0)
提交回复
热议问题