Android选项卡TabHost

选项卡主要由TabHost(标签,主人),TabWidget(微件)和FrameLayout3个组件组成,用于实现一个多标签页的用户界面。

1. TabHost在XML文件中添加:

XML布局文件中添加选项卡时必须使用系统id来为各组件指定id属性。

<TabHost
    android:id="@android:id/tabhost"
    ... ... >
    
    <LinearLayout
        android:orientation="vertical" 
        ... ... >
                    
        <TabWidget
            android:id="@android:id/tabs"
            ... ... />
                    
        <FrameLayout
            android:id="@android:id/tabcontent"
            ... ... />

    </LinearLayout>
</TabHost>

2. 准备选项卡内XML布局资源:

//文件 - res \ layout \ tab1.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    ... ...
    android:background="@color/purple_700"
    android:id="@+id/relativeLayout_tab1">

</RelativeLayout>


//文件 - res \ layout \ tab2.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    ... ...
    android:background="@color/purple_200"
    android:id="@+id/relativeLayout_tab2">

</RelativeLayout>

3. TabHost在Java文件中设置:

//获取TabHost对象
TabHost tabHost=findViewById(android.R.id.tabhost);
//初始化TabHost
tabHost.setup();
//添加标签页
LayoutInflater layoutInflater=LayoutInflater.from(MainActivity.this);
layoutInflater.inflate( R.layout.tab1 , tabHost.getTabContentView() );
layoutInflater.inflate( R.layout.tab2 , tabHost.getTabContentView() );
tabHost.addTab( tabHost.newTabSpec("tab01")
                .setIndicator("str1")  //指示信号,即在标签处显示的文本
                .setContent( R.id.relativeLayout_tab1 ) );
tabHost.addTab( tabHost.newTabSpec("tab02")
                .setIndicator("str2")  //指示信号,即在标签处显示的文本
                .setContent( R.id.relativeLayout_tab2 ) );

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/120251.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SAE 2.0,让容器化应用开发更简单

云原生容器化应用托管模式的演变 云原生这个概念从提出&#xff0c;到壮大&#xff0c;再到今天的极大普及&#xff0c;始终处于一个不断演进和革新的过程中。云原生体系下应用的托管形态是随着企业应用架构在不断演进的。最早的应用大多是集中式、单体式的&#xff0c;应用通…

深度学习之基于YoloV5-Deepsort人物识别与追踪系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 YoloV5-Deepsort是一种基于深度学习的人物识别与追踪系统&#xff0c;具有较高的准确率和实时性能。 YoloV5是一种…

【hcie-cloud】【4】华为云Stack规划设计之华为云Stack标准组网【中】

文章目录 前言、华为云Stack交付综述华为云Stack标准组网标准组网架构HCS标准组网架构单核心VS双核心组网二层组网VS三层组网 单核心和双核心组网单核心组网设计和配置单核心组网 - 计算节点2网口单核心组网 - 计算节点4网口单核心组网 - 计算节点6网口单核心架构 - 多Region组…

Linux ----------------------- 文本处理工具

&#xff08;一&#xff09;绪论 awk、grep、sed和cut 是Linux 操作文本的四大利器&#xff0c;合称文本四大金刚&#xff0c;也是必须掌握的Linux 命令之一。这四个工具的功能各有侧重&#xff1a; awk&#xff1a;功能最强大&#xff0c;用于处理和格式化文本&#xff0c;可…

IntelliJ IDEA 如何修改默认Maven仓库地址

在使用idea过程中&#xff0c;每次新建项目或者打开项目时&#xff0c;maven仓库地址都会变为默认地址。如何修改默认地址&#xff0c;让其保持不变&#xff0c;如下这种方式可以简单快捷的设置。 1.打开idea&#xff0c;取消项目自动加载 2.点击 Customize,然后再点击 All se…

vSLAM中IMU预积分的作用--以惯性导航的角度分析

作为一个学过一点惯导的工程师&#xff0c;在初次接触视觉slam方向时&#xff0c;最感兴趣的就是IMU预积分了。但为什么要用这个预积分&#xff0c;在看了很多材料和书后&#xff0c;还是感觉模模糊糊&#xff0c;云里雾里。 在接触了vSLAM的更多内容后&#xff0c;站在历史研究…

JVM虚拟机:如何查看自己的JVM默认的垃圾回收器

只需要在程序运行的时候指定下面的参数就可以看到当前自己的JVM默认的垃圾回收器是什么&#xff1f;如下所示&#xff1a; 如上所示&#xff0c;默认使用的是G1回收器&#xff0c;这是我的电脑&#xff0c;因为我的电脑安装jdk的版本是1.9 如果你的jdk的版本是1.8&#xff0c;那…

11 抽象向量空间

抽象向量空间 向量是什么函数什么是线性推论向量空间 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 向量是什么 可以是一个箭头&#xff0c;可以是一组实数&#xff0c;即一个坐标对。 箭头在高维&#xff08;4维&#xff0c;甚至更高&#xff09;空间&…

攻击者滥用日历服务作为 C2 基础设施

谷歌警告多个威胁参与者正在利用其日历服务作为命令和控制&#xff08;C2&#xff09;基础设施。 谷歌警告 称&#xff0c;多个威胁参与者共享一个名为“Google Calendar RAT”的公共概念验证&#xff08;PoC&#xff09;漏洞&#xff0c;该漏洞依赖日历服务来托管命令和控制&…

Redis-----SSM整合redis及redis的注解式开发以及redis的击穿,穿透,雪崩三种解决方案

目录 SSM项目整合Redis 导入pom依赖 配置文件spring-redis.xml redis.properties 配置redis的key生成策略 redis的注解式开发及应用场景 什么是redis的注解式 redis注解式的场景应用 Cacheable 自定义策略 Cacheable可以指定三个属性&#xff0c;value、key和condition…

每日汇评:黄金正在期待鲍威尔的讲话以获取新的方向动力

周三早盘&#xff0c;金价盘整了连续两天的跌势&#xff0c;等待鲍威尔发言&#xff1b; 美元在不同的美联储评论和风险偏好减弱的情况下寻求方向&#xff1b; 黄金价格确认了上升三角形的突破&#xff0c;但美债收益率较低可能会限制跌幅&#xff1b; 周二早些时候&#xf…

大数据中经常使用的指令:

1、Hadoop&#xff1a; 1、关闭Hadoop集群的安全模式&#xff1a; hdfs dfsadmin -safemode leave#查看集群的模式的状态&#xff1a; hdfs dfsadmin -safemode get 2、启动、关闭Hadoop集群&#xff1a; start-all.sh stop-all.sh 3、停止yarn中进程的命令&#xff1a; yar…

【ARM Trace32(劳特巴赫) 使用介绍 2 - Veloce 环境中使用trace32 连接 Cortex-M33】

文章目录 T32MARM 介绍Trace32 .t32 和 .cmm 差异veloce 下启动TRACE321.1.3 TAP 状态机操作命令1.1.3.1 IDCODE&#xff08;Identification Code&#xff09;寄存器 介绍 T32MARM 介绍 T32MARM 是 Lauterbach 的 Trace32 软件包的一部分&#xff0c;专门用于 ARM 基础架构的微…

第七章 块为结构建模 P2|系统建模语言SysML实用指南学习

仅供个人学习记录 流建模 对系统不同组成之间的流做出定义可提供它们之间交互作用的抽象视图 项是定义为流动事物的通用术语。流属性定义了该块可以流入或流出的项 为流动的项建模 项item用于描述一类流动的实体&#xff0c;可以是物质流&#xff08;如物质和能量&#xff…

SwiftUI Swift 多个 sheet

今天做一个多个 sheet 的效果&#xff0c;点击下面三个按钮打开不同的 sheet 。 Show me the code import SwiftUIenum CurrentActiveSheet: Identifiable {case add, edit, deletevar id: Int {hashValue} }struct MoreSheet: View {State var currentActiveSheet: CurrentAc…

DDoS类型攻击对企业造成的危害

超级科技实验室的一项研究发现&#xff0c;每十家企业中&#xff0c;有四家(39%)企业没有做好准备应对DDoS攻击&#xff0c;保护自身安全。且不了解应对这类攻击最有效的保护手段是什么。 由于缺乏相关安全知识和保护&#xff0c;使得企业面临巨大的风险。 当黑客发动DDoS攻击…

从零开始搭建微服务(二)

忘记了软件还没有装全,今天先把所有的软件装上,nacos已经装过了我们就不在装了,剩余的软件全部都是通过docker安装,我在centos7里面 1. 安装docker 安装dockeryum -y install docker开机自启 systemctl enable docker启动dockre systemctl start docker查看docker版本 doc…

【Unity】光照烘培-基础参数-基础设置

光照烘培 一级目录二级目录 问题目录烘焙光照在手机不起作用 一级目录 二级目录 Unity 2020.3.25 打开灯光面板 Wingdow -》 Rendering -> Lighting Lighting Settings 灯光设置文件 Realtime Lighting Realtime Global lllumin Realtime Environme Mixed Lighting Ba…

响应式编程-Project Reactor Mono 介绍

响应式编程-Project Reactor Mono 介绍 本文以Mono的角度来介绍Reactor编程&#xff0c;Flux的使用同理。 初体验 Web应用 controller 方法在Spring webmvc 和 Spring webFlux下Controller方法实现示例如下&#xff1a; Spring webmvc: GetMapping("/test1") …

麒麟信安获批牵头成立国家关键领域信创行业产教融合共同体

日前&#xff0c;由麒麟信安、长沙理工大学、长沙职业技术学院联合牵头成立的国家关键领域信创行业产教融合共同体&#xff08;以下简称&#xff1a;共同体&#xff09;已获湖南省教育厅批准&#xff0c;并推荐至教育部。 目前共同体已吸引10余家联盟单位及全国20余家企业、高…