`
wentao8-12
  • 浏览: 729 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

TabHost使用小结

阅读更多
使用TabHost 可以在一个屏幕间进行不同版面的切换,例如android自带的拨号应用。
完成一个TabHost的步骤:
一、设计布局文件,Tabhost布局文件一般使用FrameLayout,在FrameLayout中添加每个Tab页面的视图,但必须要有id,例如:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">

<!-- 第一个Tab 对应的布局 -->
<!-- Tab内容必须用Layout布局将view包含,否则在程序中找不到View -->
<LinearLayout android:id="@+id/tab01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<ListView android:id="@+id/weather" android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ListView>
</LinearLayout>

<!-- 第二个Tab 对应的布局 -->
<LinearLayout android:id="@+id/tab02"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:id="@+id/weath_detail"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:text="tab">
</TextView>
</LinearLayout>

<!-- 第三个Tab 对应的布局 -->
<LinearLayout android:id="@+id/tab03"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:id="@+id/city_detail" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:text="tab">
</TextView>
</LinearLayout>
</FrameLayout>

注意:每个Tab页面都要有自己的layout,负责在代码中通过Id无法找到相对应的视图
二、创建展示TabHost的Activity。
     1、我们可以直接继承TabActivity,再通过getTabHost()方法得到TabHost对象。例如:
     protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        myTabHost = this.getTabHost();
        //绑定布局文件
        LayoutInflater.from(this).inflate(R.layout.tab_host,
            myTabHost.getTabContentView(),
            true);
       
        initTabHost();
        setTitle(weather.getCityName());
        //设定显示内容
        setContentView(myTabHost);
    }

    2,为TabHost添加要显示的tab,一个tab就是相应的一个选项卡。例如:
     //添加tab
        myTabHost.addTab(myTabHost.newTabSpec(TAB_1)  //tab的Tag
            .setIndicator("城市天气")  //tab的标题
            .setContent(R.id.tab01)); //tab的显示内容
        myTabHost.addTab(myTabHost.newTabSpec(TAB_2)
            .setIndicator("天气详情")
            .setContent(R.id.tab02));
        myTabHost.addTab(myTabHost.newTabSpec(TAB_3)
            .setIndicator("城市介绍")
            .setContent(R.id.tab03));
    3,为Tabhost添加选项卡改变监听,在选项卡改变时做相应处理。例如:
        //添加OnTabChangedListener监听,此监听为选项卡改变监听
        myTabHost.setOnTabChangedListener(this);
      监听处理方法
       public void onTabChanged(String tabId)
    {
        if (tabId.equals(TAB_1))
        {
            //初始化标签1
            initTab1();
        }
        else if (tabId.equals(TAB_2))
        {
            //初始化标签2
            initTab2();
        }
        else if (tabId.equals(TAB_3))
        {
            //初始化标签3
            initTab3();
        }
       
    }

  4,修改Tab显示内容
    private void initTab2()
    {
        //得到tab内容的视图
        TextView weathDetailText = (TextView)findViewById(R.id.weath_detail);
        weathDetailText.setText(weather.getLiveWeather());
    }
分享到:
评论

相关推荐

    TabHost使用总结

    本资源深入探讨了如何使用TabHost,并提供了三种主要的实现方式:通过ID、Intent以及Java代码。下面将详细阐述这些知识点。 1. **通过ID使用TabHost** - TabHost的`setup()`方法是初始化TabHost的关键,它需要一个...

    andorid中TabHost的使用

    在Android开发中,TabHost...总结,TabHost是构建多标签界面的关键组件,掌握其使用方法对于开发高效、用户友好的Android应用至关重要。结合源码理解和工具辅助,能更好地优化和调试TabHost相关的代码,提升应用质量。

    TabHost的简单使用

    总结来说,TabHost是Android中构建多选项卡界面的一种方式,虽然现在有更现代的解决方案,但在理解Android历史和一些老项目中,掌握TabHost的使用仍然是必要的。通过TabHost和相关组件,开发者可以轻松地为用户提供...

    TabHost使用方法

    根据给定的内容,我们可以总结出使用 TabHost 的几个关键步骤: 1. **新建类并继承 TabActivity** ```java public class MainActivity extends TabActivity { ``` - **说明**:为了让应用支持 TabHost,我们...

    tabhost使用方法

    7. 小结: TabHost是Android早期版本中实现标签页切换的主要方式。随着Android SDK的更新,现在更多地使用ViewPager配合FragmentTabHost或BottomNavigationView来构建多页应用。尽管如此,理解TabHost的工作原理对于...

    Android TabHost组件使用方法详解

    总结来说,Android的TabHost组件提供了一种方便的方式来组织应用的多个功能模块,用户可以通过标签页轻松切换。在实际开发中,我们可以根据需求自定义标签页的样式、内容和交互,为用户提供更友好的界面体验。需要...

    Android中TabHost使用

    总结,TabHost在Android开发中用于构建多标签界面,通过添加Tab并设置Intent,可以实现在不同Activity间的跳转。随着Android设计风格的发展,虽然TabHost的使用逐渐减少,但它依然是理解Android界面构建机制的重要一...

    TabHost学习总结

    本文将深入探讨`TabHost`的学习总结,并结合标签“源码”和“工具”,介绍如何利用`TabHost`实现多标签功能以及查看相关源码进行深入理解。 `TabHost`是Android提供的一个容器,它允许我们在应用中创建一个标签栏,...

    Android 嵌套TabHost示例

    总结来说,Android的嵌套TabHost是一种增强用户界面的方法,它允许开发者创建更复杂的导航结构,提供类似网页的多级菜单体验。通过理解和实践这个示例,开发者可以更好地掌握Android TabHost的使用,以及如何在实际...

    android TabHost(标签)的使用

    总结起来,Android的TabHost是一个强大的工具,用于构建带有多个Tab的用户界面。通过设置TabWidget和FrameLayout,以及使用TabSpec来管理每个Tab的内容,我们可以轻松地创建出功能丰富的多视图应用。尽管现代Android...

    android TabHost使用详解

    下面我们将详细介绍如何使用 `TabHost`,包括布局的设置和代码的实现步骤。 一、定义 `TabHost` 在Android中,`TabHost` 不再需要直接继承 `TabActivity`,而是可以作为任何活动的一部分。首先,我们需要在布局文件...

    TabHost的各种实现方式

    总结,TabHost是Android开发中实现多Tab界面的经典组件,虽然在新版本的Android中,更多地推荐使用ViewPager和TabLayout的组合,但对于理解Android的历史和各种实现方式,TabHost仍然是不可或缺的一部分。...

    TabHost+ViewPager实现滑动tabhost

    总结来说,结合TabHost和ViewPager可以构建出一种经典的Android界面布局,允许用户通过点击标签或者滑动屏幕来切换不同的内容区域。这种设计模式在很多应用中都得到了广泛的应用,既保留了传统TabHost的直观性,又...

    TabHost的两种使用方式

    总结:TabHost在Android应用中提供了灵活的多标签页展示方式,可以通过XML布局或者编程方式实现。XML布局方式简洁直观,适合静态内容;而编程方式更适用于动态生成或复杂交互的场景。理解这两种方法对于创建具有多...

    解决TabHost下面白线

    总结来说,解决TabHost下面白线的问题通常涉及到调整主题、自定义TabWidget样式、修改布局文件或创建自定义View。理解TabHost的工作机制并熟练掌握相关属性和方法是解决问题的关键。通过以上方法,你应该能够成功地...

    android tabhost用法 源码

    总结,TabHost在Android应用中提供了方便的多标签导航功能。通过设置TabSpec、初始化TabHost、添加Tab以及自定义样式,开发者可以轻松地构建出功能丰富的界面。理解TabHost的源码也有助于深入掌握其工作机制,从而更...

    Android Tabhost使用详解(详尽)

    #### 五、小结 通过继承 `TabActivity` 并结合 XML 和 Java 代码的方式,我们可以灵活地创建功能强大的标签式导航界面。这种方法不仅简化了 XML 文件,还提高了代码的可读性和维护性。希望本文能帮助你在Android...

    Android_TabHost_TabWidget选项卡总结

    - 要使用`TabHost`,首先需要继承`TabActivity`,然后通过`getTabHost()`获取`TabHost`实例。 - 使用`TabHost.newTabSpec()`创建`TabSpec`,并设置其标识、标题和内容。标题可以通过`setIndicator()`设置,内容...

    android总结之TabHost

    这篇博客文章“android总结之TabHost”深入探讨了如何在Android应用中使用TabHost进行界面设计。TabHost提供了在同一个屏幕上展示多个功能区域的能力,使得用户可以方便地切换不同内容。 首先,我们需要理解TabHost...

    android TabHost全用法

    总结来说,Android的TabHost组件是构建多选项卡界面的重要工具。通过熟练掌握它的用法,开发者可以轻松地组织和展示应用程序的多个功能区域,提升用户体验。在实际项目中,可以根据需求调整TabHost的外观和行为,以...

Global site tag (gtag.js) - Google Analytics