Android开发之TabHost控件的使用

来源:互联网 发布:js foreach遍历map 编辑:程序博客网 时间:2024/04/30 03:58

 

Android开发之TabHost控件的使用

 

    首先展示个效果,截图如下:

        在这里我们使用了一个TabHost控件,下面我们来详细讲解下这个控件以及使用这个控件时,应该注意的一些问题。

使用TabHost有两种方法,一种是继承TabActivity;一种是不继承TabActivity;在这里我要讲解的是继承TabActivity的;首先我们得写好main.xml布局文件,在写这个布局文件时要注意,使用TabHost一定要有TabWidget、FramLayout这两个控件,并且TabWidget必须使用系统ID @android:id/tabs;FrameLayout作为标签内容的基本框架,也必须使用系统ID @android:id/tabcontent;而TabHost可以自定义ID,这是为了在系统初始化时能够使用,否则会报错!布局文件main.xml如下:

        布局文件弄好之后,我们就需要开发用户界面;首先,我们让它继承TabActivity;之后我们可以通过getTabHost()方法得到一个TabHost对象;得到TabHost对象之后,我们就可以使用该对象来添加上面顶部的四个标签(返回、理财、社保和农保);这里有个问题,就是如何设置每个标签的大小和位置呢?呵呵,在这里我们用getTabWidget()方法取TabWidget对象。通过该对象使用getChildAt(int i)来取得每个标签,取得每个标签之后,我们就可以使用下面代码来设置标签内容中的位置了:

  for(int i=0;i<mTabWidget.getChildCount();i++){

         //设置选项卡的宽度

            mTabWidget.getChildAt(i).getLayoutParams().height=50;

            //设置选项卡的高度

            mTabWidget.getChildAt(i).getLayoutParams().width=60;

        }

设置好这些之后,我想单击它时,会跳转到别的界面去。在这里我们使用setContent(new Intent(this,cls))进行跳转;

        代码截图如下:

        接下来,我们又有问题了!如何设置文字颜色?如何设置每个标签的背景颜色或图片呢?在这里我定义了一个方法,这个方法里面解决了上面的那些问题!该方法截图如下:

        这个函数我们返回了一个TextView对象;然后使用setIndicator(view)方法,把TextView添加进去;这个函数有两个参数,第一个参数是指标签的内容,第二个参数是标签的背景图片;到此我们已经把主要的东西都理清了。

原创粉丝点击