An example of using Android tabs with views instead of actions?

The Android Developers TabWidget tutorial says the following:

"You can implement the contents of your tab in one of two ways: use tabs to share views within a single action, or use tabs to change between completely separate actions."

This tutorial shows how you can use tabs with individual actions. I could not find an example of using tabs with different views within the same activity. I would prefer not to reinvent this wheel, so I hope someone here knows how to do it, and can understand me. Thank!

+46
java android android-widget
Jun 04 2018-10-06T00:
source share
2 answers

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

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

Here is an example that I found a while ago:

  <?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); } } 
+40
Feb 17 2018-11-21T00:
source share
+4
Nov 19 '12 at 9:21
source share



All Articles