can anyone give sample code for TabHost in Android?

前端 未结 4 2027
春和景丽
春和景丽 2021-02-10 06:50

I need sample code to create TabHost in android. can anyone help me.

相关标签:
4条回答
  • 2021-02-10 07:30

    res/layout/activity_main.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    
    <TabHost
        android:id="@+id/tabHost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
    
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"></TabWidget>
    
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
    
                <LinearLayout
                    android:id="@+id/tab1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#ffc916"
                    android:orientation="vertical">
    
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:text="This is tab 1" />
    
                </LinearLayout>
    
                <LinearLayout
                    android:id="@+id/tab2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#da8200"
                    android:orientation="vertical">
    
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:text="This is tab 2" />
                </LinearLayout>
    
                <LinearLayout
                    android:id="@+id/tab3"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#5b89ff"
                    android:orientation="vertical">
    
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:text="This is tab 3" />
                </LinearLayout>
            </FrameLayout>
        </LinearLayout>
    </TabHost>
    

    src/MainActivity.java

      public class MainActivity extends AppCompatActivity {
    TabHost tabHost;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        TabHost host = (TabHost)findViewById(R.id.tabHost);
        host.setup();
    
        //Tab 1
        TabHost.TabSpec spec = host.newTabSpec("Tab One");
        spec.setContent(R.id.tab1);
        spec.setIndicator("Tab One");
        host.addTab(spec);
    
        //Tab 2
        spec = host.newTabSpec("Tab Two");
        spec.setContent(R.id.tab2);
        spec.setIndicator("Tab Two");
        host.addTab(spec);
    
        //Tab 3
        spec = host.newTabSpec("Tab Three");
        spec.setContent(R.id.tab3);
        spec.setIndicator("Tab Three");
        host.addTab(spec);
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
    
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
    
        return super.onOptionsItemSelected(item);
    }
    } 
    

    You can Follow these tutorials for help

    Creating a tabbed UI with TabHost

    Android Tab Layout Tutorial

    0 讨论(0)
  • 2021-02-10 07:32

    I had done tabhost related code with respect to displaying scores

        TabHost host = getTabHost();
        host.setup ();
    
        TabSpec allScoresTab = host.newTabSpec("allTab");
        allScoresTab.setIndicator(getResources().getString(R.string.all_scores), getResources().getDrawable(android.R.drawable.star_on));
        allScoresTab.setContent(R.id.ScrollViewAllScores);
        host.addTab(allScoresTab);
    
        TabSpec friendScoresTab = host.newTabSpec("friendsTab");
        friendScoresTab.setIndicator(getResources().getString(R.string.friends_scores), getResources().getDrawable(android.R.drawable.star_on));
        friendScoresTab.setContent(R.id.ScrollViewFriendScores);
        host.addTab(friendScoresTab);
    
        host.setCurrentTabByTag("allTab");
    

    My xml contains :

    <?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"
        android:background="@drawable/bkgrnd">
        <RelativeLayout
            android:id="@+id/RelativeLayout01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <ImageView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/ImageView_Header"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/quizicon"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true">
            </ImageView>
            <TextView
                android:id="@+id/TextView01"
                android:layout_height="wrap_content"
                android:text="@string/scores"
                android:textSize="@dimen/screen_title_size"
                android:shadowDx="0"
                android:shadowDy="0"
                android:shadowRadius="10"
                android:layout_width="wrap_content"
                android:layout_gravity="fill_horizontal|center"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:shadowColor="@android:color/white"
                android:textColor="@color/title_color">
            </TextView>
            <ImageView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/ImageView_Header2"
                android:layout_height="wrap_content"
                android:src="@drawable/quizicon"
                android:layout_gravity="right|center_vertical"
                android:layout_width="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true">
            </ImageView>
        </RelativeLayout>
       <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
                <ScrollView android:id="@+id/ScrollViewAllScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical">
      <TableLayout android:id="@+id/TableLayout_AllScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="*" /> 
      </ScrollView>
    - <ScrollView android:id="@+id/ScrollViewFriendScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical">
      <TableLayout android:id="@+id/TableLayout_FriendScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="*" /> 
      </ScrollView>
            </FrameLayout>
        </LinearLayout>
    </TabHost>
    </LinearLayout>
    
    0 讨论(0)
  • 2021-02-10 07:38

    activity_main.xml contains

    <?xml version="1.0" encoding="utf-8"?>
    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
    
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_above="@+id/scroll" />
    
            <HorizontalScrollView
                android:id="@+id/scroll"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:scrollbars="none"
                android:layout_alignParentBottom="true" >
    
                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/tabs_bg" />
            </HorizontalScrollView>
        </RelativeLayout>
    
    </TabHost>
    

    and java code is

    TabHost tabHost = getTabHost();
    
            TabSpec spec;
    
            Intent intent;
    
            //Home Tab
            View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.home, null);
    
            intent = new Intent(MainActivity.this, Firstclass.class);
    
            spec = tabHost.newTabSpec("HOME").setIndicator(view1)
                    .setContent(intent);
    
            tabHost.addTab(spec);
    
            //Calendar Tab
            View view2 = LayoutInflater.from(MainActivity.this).inflate(R.layout.calendar_tab, null);
    
            intent = new Intent(MainActivity.this, Calendar.class);
    
            spec = tabHost.newTabSpec("CALENDAR").setIndicator(view2)
                    .setContent(intent);
    
            tabHost.addTab(spec);
    
    0 讨论(0)
  • 2021-02-10 07:47

    The Android Developer site has an excellent fully worked code sample for creating tabs in Android using the TabWidget and TabHost.

    Check out Hello, TabWidget.

    0 讨论(0)
提交回复
热议问题