【Android编程】TabHost基本使用

54 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情.

TabHost基本使用

TabHost官方文档: developer.android.com/reference/a…

TabHost实现Tab切换, 实现类似通话记录界面的切换效果。可以在界面中存放多个选项卡, 很多软件都使用了该组件进行设计。

Tab标签页的使用
1.首先要设计所有的分页的界面布局
2.在分页设计完成后,使用代码建立Tab标签页,并给每个分页添加标识和标题
3.最后确定每个分页所显示的界面布局
每个分页建立一个XML文件,用以编辑和保存分页的界面布局,使用的方法与设计普通用户界面没有什么区别

使用Tab标签页的一般步骤
首先要设计所有的分页的界面布局
Activity继承TabActivity
调用TabActivity的getTabHost()方法获得TabHost对象
通过TabHost创建Tab

一、布局

在这里插入图片描述 注意: TabHost的id必须是tabhost FrameLayout的id必须是tabcontent TabWidget的id必须是tabs 将TabWidget放置在FrameLayout之后

TabSpec --> tabhost

二、Activity的装配:

public class MainActivity extends TabActivity {
    private TabHost tabHost;

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

        // 获得tabhost
        tabHost = getTabHost();
        //生成多个TabSpec,并添加到tabhost中
        TabHost.TabSpec tab1 = tabHost.newTabSpec("0");
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(R.drawable.ic_launcher_background);
        tab1.setIndicator("信息");
        tab1.setContent(R.id.tab1);
        //添加
        tabHost.addTab(tab1);
    }
}

三、总结:

使用TabHost的步骤(必考题)

1.布局文件

 1.TabHost,LinearLayout,FrameLayout,Tabwidget  2.Tabhost id = @android:id/tabhost   FrameLayout id = @android: id/tabcontent   TabWidget id = @android:id/tabs

2.Activity开发

 1.继承TabActivity  2.通过getTabhost()获得tabhost对象  3.创建TabSpec  TabHost.TabSpec tab1 = tabHost.newTabSpec("0");  4.为每个tab设置属性  setInXXXX  setContent  5.将tab add到tabhost当中

四、编码时遇到的问题

1.java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost' 注意事项:

在这里插入图片描述