Android studio TabHost选项卡

(1)在Android学习过程中,用户界面设计模块的TabHost是基础且比较重要的一部分(虽然已经过时,但仍然值得了解)。

(2)

1. TabHost常用组件

TabWidget : 该组件就是TabHost标签页中上部 或者 下部的按钮, 可以点击按钮切换选项卡;

TabSpec : 代表了选项卡界面, 添加一个TabSpec即可添加到TabHost中;

-- 创建选项卡 : newTabSpec(String tag), 创建一个选项卡;

-- 添加选项卡 : addTab(tabSpec);

2. TabHost使用步骤

a. 定义布局 : 在XML文件中使用TabHost组件, 并在其中定义一个FrameLayout选项卡内容;

b. 继承TabActivity : 显示选项卡组件的Activity继承TabActivity;

c. 获取组件 : 通过调用getTabHost()方法, 获取TabHost对象;

d. 创建添加选项卡 : 通过TabHost创建添加选项卡;

(3)打开Android studio,建立一个项目名为ClassTabHost的工程。

(4)activity_main.xml代码如下所示(可直接拖拽控件稍作修改):





    

        

            

            

                

                

                

                

                

                

            

        

    

(5) MainActivity.java代码如下所示:

package com.hbu.classtabhost;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;

public class MainActivity extends TabActivity {

    //选项卡
    private TabHost mTabHost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //直接获取到TabHost   getTabHost()相对于findViewById
        mTabHost = getTabHost();
        //初始化
        mTabHost.setup();

        TabHost.TabSpec tabSpec1 = mTabHost.newTabSpec("tab1").setIndicator("首页").setContent(new Intent(this,Tab1Activity.class));
        TabHost.TabSpec tabSpec2 = mTabHost.newTabSpec("tab2").setIndicator("新闻").setContent(new Intent(this,Tab2Activity.class));
        TabHost.TabSpec tabSpec3 = mTabHost.newTabSpec("tab3").setIndicator("设置").setContent(new Intent(this,Tab3Activity.class));

        mTabHost.addTab(tabSpec1);
        mTabHost.addTab(tabSpec2);
        mTabHost.addTab(tabSpec3);

    }
}

(6)新建Tab1Activity.java,Tab2Activity.java,Tab3Activity.java,activity_tab1.xml,activity_tab2.xml,activity_tab3.xml。

Android studio TabHost选项卡_第1张图片

(7)以Tab1Activity.java为例,代码如下所示:

package com.hbu.classtabhost;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

/**
 * 首页
 */

public class Tab1Activity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tab1);
    }

}

(8) 以activity_tab1.xml为例,代码如下所示:




    

(9)修改样式(style.xml),代码如下所示:



    
    


(10)在AndroidManifest.xml文件里注册Activity,代码如下所示:




    
        
            
                

                
            
        

        
        
        

    

(11)运行结果如下所示:

 Android studio TabHost选项卡_第2张图片

 

你可能感兴趣的:(Android,Studio)