• Android开发之TabHost控件的使用 skyCc


     

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

            在这里我们使用了一个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添加进去;这个函数有两个参数,第一个参数是指标签的内容,第二个参数是标签的背景图片;到此我们已经把主要的东西都理清了。

  • 相关阅读:
    C++:重载前置++/--返回引用,重载后置++/--返回临时对象
    C++:析构函数的调用时机
    C2440 “初始化”: 无法从“std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<_Ty>>>”转换为“std::_Vector_iterator<std::_Vector_val<std::_Simple_types<_Ty>>>”
    c++ 类成员的初始化顺序
    LNK2019
    用赋值表达式作为bool值
    MonkeyRunner API (Monkeyrunner 运行时必须要关闭appium,否则不会执行任何操作)
    Python 之ConfigParser模块
    APP专项测试4 -- 内存
    APP专项测试4 -- 电量
  • 原文地址:https://www.cnblogs.com/cmzcheng/p/2375487.html
Copyright © 2020-2023  润新知