Reprint "android-tabhost tab function usage detailed"

Source: Internet
Author: User

I. Tabhost INTRODUCTION

The Tabhost component can store multiple tabs in the interface, and many of the software uses a modified component for design;

1. Tabhost Common Components

tabwidget : This component is the Tabhost tab in the upper or lower buttons, you can click the button Switch tab;

Tabspec : Represents the Tab interface, add a tabspec can be added to the tabhost;

-- Create tab : Newtabspec (String tag), create a tab;

-- Add tab : AddTab (TABSPEC);

2. Tabhost Use steps

A. defining layouts : using the Tabhost component in an XML file and defining a framelayout tab content in it;

B. inherit tabactivity : Show tab component Activity inheritance tabactivity;

C. get the component : Get the Tabhost object by calling the Gettabhost () method ;

D. Create Add Tab : Create Add tab via Tabhost;

3. Place the button below

The tabwidget in the layout file represents the tab button, and the Fragement component represents the content;

setting Failure Condition : If the Fragement component does not have the Android:layout_weight property set, the Tabwidget is placed below and the button may not appear;

set weight : After you set the weight of the fragment component, you can successfully display the tab button;

Two. Tabhost Layout file

1. Root tag and ID

set the android ID : XML layout file, you can use the tag settings, where the ID needs to refer to Android's own Id:android:[email Protected]:id/tabhost;

GetHost () Gets the premise : After setting the ID, the activity interface can use GetHost () to get the Tabhost view object;

Example:

?
1 <tabhost android:id="@android:id/tabhost"android:layout_height="match_parent"android:layout_width="match_parent"></tabhost>



2. Tabwidget Components

tab Toggle : The component is a tab toggle button that can be toggled by clicking on the Component tab;

set Android ID : The ID of this component should be set to Android's own Id:android:[email Protected]:id/tabs;

Tabhost Prerequisites : This component and the Framelayout component are the two components required in the Tabhost component;

The toggle button displays below : If you want to place the button below, you can define the component below, but note thatframelayout to set android:layout_widget = 1;

set Tabwidget size : If you want to set the size of the button component, you can set the weight of the component and the Framelayout component;

Example:

?
1 <tabwidget android:id="@android:id/tabs"android:layout_height="wrap_content" android:layout_width="fill_parent"android:orientation="horizontal/"></tabwidget>



3. Framelayout Components

Component Action : The subcomponents defined in the component are the tabs that are displayed for each page in the Tabhost, and you can define the view that the Tabhost tab displays;

set Android ID : The ID of this component should be set to Android's own Id:android:[email protected]:id/tabcontent;

Example:

?
1 <framelayout android:id="@android:id/tabcontent"android:layout_height="fill_parent" android:layout_weight="1"android:layout_width="fill_parent"></framelayout>

Two. Activity methods

1. Get Tabhost

Get method : GetHost ();

Premise : The method of calling the GetHost () method to get the Tabhost component is the premise that the ID android:[email protected]:id/tabhost of the android comes in the layout file;

2. Create a tab

Create tab : Invokes the Newtabhost (tag) of the Tabhost component, where the tag is a string, which is the unique identifier on the tab;

setting tab :

-- Set button name : Setindicator (called Beast);

-- Set tab content : SetContent (), you can set the view components, you can set activity, you can also set fragement;

add tab : Tabhost.add (TAG), the passed-in parameter is the unique identifier defined when the tab is created;

Three codes

XML layout file :

?
1234567891011121314151617181920212223242526 <!--?xml version=1.0 encoding=utf-8?--><tabhost android:id="@android:id/tabhost" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android">        <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical">                <tabwidget android:id="@android:id/tabs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="horizontal/">                <framelayout android:id="@android:id/tabcontent" android:layout_height="fill_parent" android:layout_weight="1" android:layout_width="fill_parent">                        <linearlayout android:id="@+id/alwayswet" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical">                <imageview android:layout_height="fill_parent" android:layout_width="fill_parent" android:scaletype="fitXY" android:src="@drawable/alwayswet/">            </imageview></linearlayout>                        <linearlayout android:id="@+id/isanimal" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical">                <imageview android:layout_height="fill_parent" android:layout_width="fill_parent" android:scaletype="fitXY" android:src="@drawable/isanimal/">            </imageview></linearlayout>                        <linearlayout android:id="@+id/nezha" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical">                <imageview android:layout_height="fill_parent" android:layout_width="fill_parent" android:scaletype="fitXY" android:src="@drawable/nazha/">            </imageview></linearlayout>                                 </framelayout>            </tabwidget></linearlayout>    </tabhost>



Activity Main Interface Code :

?
123456789101112131415161718192021222324252627282930313233 package shuliang.han.tabhost_test; import android.app.TabActivity;import android.os.Bundle;import android.widget.TabHost;import android.widget.TabHost.TabSpec;public class MainActivity extends TabActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.tabhost);                TabHost tabHost = getTabHost();                 TabSpec page1 = tabHost.newTabSpec(tab1)                .setIndicator(叫兽)                .setContent(R.id.isanimal);        tabHost.addTab(page1);                TabSpec page2 = tabHost.newTabSpec(tab2)                .setIndicator(老湿)                .setContent(R.id.alwayswet);        tabHost.addTab(page2);                TabSpec page3 = tabHost.newTabSpec(tab3)                .setIndicator(哪吒)                .setContent(R.id.nezha);        tabHost.addTab(page3);    }}

Reprint "android-tabhost tab function usage detailed"

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.