`
bleet
  • 浏览: 59005 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

导航标签使用

阅读更多
一、创建Activity:

Android的导航标签由一个叫做TabActivity创建,TabActivity继承自ActivityGroup。

二、获取管理标签的对象:

在这个Activity的onCreate()方法里使用getTabHost()方法,即可获得控制导航标签的TabHost(管理标签的对象)。

TabHost继承自android.widget.FrameLayout
它有2个内嵌接口:
TabHost.OnTabChangeListener(实现该接口可以相应TabChange事件)、TabHost.TabContentFactory(实现该接口约定的方法createTabContent(String tag)可以控制标签中的内容显示)

和一个内嵌类TabHost.TabSpec(该类包括了标签的indicator、content、tag)

三、填充标签管理对象
给TabHost添加标签通过
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("tab2").setContent(this));方法实现,参数是一个TabSpec。而TabSpec通过newTabSpec()方法创建,其中第一个设置即前面说的tag,第二个设置即前面说的indicatior,第三个设置即是标签的现实内容content,这里setContent(this)的写法是因为实现了TabHost.TabContentFactory接口。

四、创建Content,填充一个具体的标签
前面的TabSpec的创建时写到setContent(this),这即是把自身作为一个content填充给标签。Content的创建不局限于这种模式,一般有一下3种:
1、通过layout布局的view填充  :setContent(R.id.view1)
2、通过实现TabHost.TabContentFactory接口的createTabContent(String tag)方法创建 :setContent(this)
3、通过传入一个Intent启动一个Activity创建 : setContent(new Intent(this, List1.class))

具体使用哪一种方式,需要据应用情况而定,没有优劣之分

贴一段代码(通过layout的viewID创建content):
public class Tabs1 extends TabActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TabHost tabHost = getTabHost();
        
        LayoutInflater.from(this).inflate(R.layout.tabs1, tabHost.getTabContentView(), true);

        tabHost.addTab(tabHost.newTabSpec("tab1")
                .setIndicator("tab1")
                .setContent(R.id.view1));
        tabHost.addTab(tabHost.newTabSpec("tab3")
                .setIndicator("tab2")
                .setContent(R.id.view2));
        tabHost.addTab(tabHost.newTabSpec("tab3")
                .setIndicator("tab3")
                .setContent(R.id.view3));
    }
}


分享到:
评论

相关推荐

    仿淘宝网站的导航标签效果

    2. **CSS 样式**:为了让导航标签效果更具淘宝风格,我们需要使用CSS来定制样式。这包括设置字体、颜色、背景、边框、浮动等属性。例如,可以通过设置`display: inline-block`使`<li>`元素并排显示,使用`text-align...

    标签栏+导航栏的交互使用

    在iOS应用开发中,"标签栏(Tab Bar)+ 导航栏(Navigation Bar)"的交互使用是构建用户界面的常见模式,尤其在大型应用中。这种设计结合了两种主要的界面元素,以提供清晰的导航结构和多级内容浏览体验。下面将详细...

    导航标签样式,包含横向和竖向标签

    为了确保无障碍性,导航标签可以使用ARIA(Accessible Rich Internet Applications)角色和属性,如`role="tab"`和`aria-selected`,帮助辅助技术用户理解导航结构。 8. 设计原则: - 清晰性:标签命名应简洁明了...

    ios-标签导航切换.zip

    在iOS开发中,苹果官方提供了`UITabBarController`作为默认的标签导航控制器,但有时开发者需要更高级的功能,如动态加载内容、自定义动画或更复杂的交互,这时就需要使用自定义解决方案,如"MRNavigationTabBar"。...

    基于qt的多种导航标签

    在给定的“基于qt的多种导航标签”主题中,我们将探讨Qt中的标签控件及其多样化风格。 Qt中的标签控件主要是`QLabel`,这是一个用于显示文本或图像的基本组件。在描述中提到的“带倒三角的,带图标的等多种风格标签...

    易语言源码易语言标签导航源码.rar

    6. **调试与优化**:学习如何使用易语言的调试工具,定位代码中的问题,进行性能优化,使标签导航更加流畅,提升用户体验。 7. **用户交互**:标签导航不仅涉及到程序内部逻辑,还涉及到用户交互。了解用户的行为...

    标签导航源码

    在iOS开发中,我们可以使用Swift或Objective-C来实现标签导航。以下是一些关键步骤: 1. **创建视图控制器**:首先,你需要为每个标签创建对应的视图控制器。这些控制器可以是自定义的UIViewController子类,或者...

    jquery scroll带导航标签的选项卡图片滚动代码

    可以使用CSS3的`transform`和`transition`属性来实现平滑的滚动动画,以及设置导航标签的样式。例如: ```css #scroll-container { overflow-x: auto; white-space: nowrap; } .image-slide { display: inline-...

    vue+element导航+标签导航+路由跳转+路由转换.zip

    vue+element导航+标签导航+路由跳转+路由转换,有需要可以取,博客有详尽说明,https://blog.csdn.net/Hei_lovely_cat/article/details/104692047

    标签导航菜单实现代码.rar

    【标题】:“标签导航菜单实现代码.rar”是一个包含使用CSS3技术实现的标签导航菜单的源码包。这种菜单设计适用于网页,它提供了一种高效、直观的方式,帮助用户在多个选项之间进行切换,而无需JavaScript支持。 ...

    ajax多标签导航

    在"ajax多标签导航"中,我们可以使用Ajax替换传统的页面跳转,以实现平滑的切换效果。 1. HTML结构:每个标签通常是一个链接或按钮,对应一个特定的内容区域。点击标签时,触发JavaScript事件。 2. CSS样式:用于...

    js导航栏A标签锚点跳转

    "js导航栏A标签锚点跳转"是JavaScript在网页交互中的常见应用,主要用于实现页面内部链接的平滑滚动效果。这个话题涉及到的知识点包括HTML锚点、JavaScript事件处理和DOM操作。 首先,HTML锚点(#标识符)允许我们...

    网页导航/标签

    1. 清晰性:导航条应直观易懂,避免使用模糊的标签或过于复杂的菜单结构。 2. 一致性:在整个网站中保持导航结构的一致性,让用户习惯并依赖这种布局。 3. 简洁性:避免过多的菜单选项,通常不超过7个,以减少用户的...

    导航标签跟随滚动到对应文章段落

    在网页设计中,"导航标签跟随滚动到对应文章段落"是一种常见的交互设计技术,它提高了用户的浏览体验,尤其在内容丰富的长篇文章中。这种技术通常被称为“滚动固定”或“平滑滚动导航”。它的核心原理是利用...

    标签导航树

    标签导航树

    猫眼电影底部标签导航-微信小程序

    1. 猫眼电影底部标签导航微信小程序源码 1.1猫眼电影底部标签导航分为4个标签导航:电影、影院、发现、我的 ...1.4 在该小程序的公共设置App.json文件的导航标签tabBar下分别设置4个导航,并设置导航栏属性

    swift-一个适用于iOS有趣易用的标签栏导航控制器

    本项目名为"swift-一个适用于iOS有趣易用的标签栏导航控制器",显然,它的目标是提供一种更吸引人且易于使用的标签栏导航解决方案。 在Swift中,通常使用UIKit框架来构建用户界面,其中`UITabBarController`类是...

    标签导航风格PPT目录模板.rar

    标签导航风格的目录通常由一系列的标签组成,每个标签代表一个主要的话题或章节,用户可以通过点击标签来快速跳转到对应的幻灯片。 在创建或修改这个模板时,用户需要注意以下几点: 1. **结构清晰**:确保每个...

    自适应宽度的标签导航

    在自适应标签导航中,我们可以使用Flexbox来让标签项根据容器的宽度自动调整大小,并保持适当的间距。 3. **媒体查询(Media Queries)**:媒体查询是CSS3中的另一个关键特性,用于检测设备的某些特性,如屏幕宽度...

    标签导航幻灯片目录模板.rar

    6. **最佳实践**:在使用标签导航时,建议保持标签简洁明了,避免过多的文字,确保每个标签都能准确反映其对应的内容。同时,目录应清晰列出每个部分的标题,方便观众查阅。 7. **交互性**:为了增强用户体验,可以...

Global site tag (gtag.js) - Google Analytics