Android选项卡TabHost

news2025/1/8 5:38:46

选项卡主要由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 ) );

  

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

交易中最佳的建仓时机,fpmarkets一个指标搞定

你是不是也是这样?经常因为自己的后知后觉错过了潜在的盈利机会&#xff0c;甚至在错误的时间点进行交易而产生亏损。其实很简单&#xff0c;fpmarkets一个指标搞定&#xff0c;解一下鳄鱼指标。 通过鳄鱼线选择最佳的建仓时机。绿线是大量合约进入市场并偏向一个方向的第一个…

Makefile(详细教程)

Makefile&#xff08;详细教程&#xff09; 1. Makefile的相关概念介绍 1.1 Makefile是什么 一个工程中的源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;Makefile定义了一系列的规则来指定哪些文件需要先编译&#xff0c;哪些文件需要后编…

阿里云99元服务器2核2G3M带宽_4年396元_新老用户同享

阿里云99元服务器新老用户同享活动 aliyunfuwuqi.com/go/aliyun 首先要在2023年11月1日去阿里云活动页下单新购这个套餐&#xff0c;享受99元包1年。同天再续费1年又享受了99元包1年&#xff1b;等到明年2024年11月1日之后&#xff0c;又可以以99元续1年&#xff1b;最后等到20…

【OpenCV实现图像:图像处理技巧之空间滤波】

文章目录 概要导入库空间过滤器模板展示效果分析与总结 概要 空间滤波器是数字图像处理中的基本工具之一。它通过在图像的每个像素位置上应用一个特定的滤波模板&#xff0c;根据该位置周围的相邻像素值进行加权操作&#xff0c;从而修改该像素的值。这种加权操作能够突出或模…

3.28每日一题(微分方程的计算)

注&#xff1a; 1、题目中的变上限x在 被积函数中&#xff0c;所以不能直接求导&#xff0c;需要先将等式拆分 2、拆完求导的时候&#xff0c;注意x的平方和定积分是乘法求导的法则&#xff0c;容易忽略 3、两边求导后还有变上限积分存在&#xff0c;此时用莱布尼兹公式&#x…

天青色等烟雨追风k9羞涩来袭

新一代追风k9服务器硬件技术的进步是推动追风k9服务器未来前景的重要因素。随着科技的不断进步&#xff0c;服务器的算力和效率都得到了显著提升。比特大陆科技作为领先的区块链服务器制造商&#xff0c;一直致力于研发和应用先进的芯片技术&#xff0c;不断提高服务器的算力和…

深度学习读取txt训练数据绘制参数曲线图的方法

有一些深度学习模型是并不像yolo系列那样最终输出相应的参数图,有很多训练形成了一个训练log文件,于是需要读取log文件中的内容并绘制成曲线图。 如下实例,有一个log文件的部分截图,需要将其读取出来并绘制曲线图 废话不多说,直接上代码 import os import re import p…

多VLAN之间的通信,静态路由

一、适用场景 1、多个C类网络&#xff08;不同网段&#xff09;之间需要通信&#xff0c;每个网段有1个网关ip。 2、当网络结构比较简单时&#xff0c;只需配置静态路由就可以使网络正常工作。本例采用简单网络结构 3、在复杂网络环境中&#xff0c;配置静态路由可以改进网络的…

阿里云99元服务器新老用户同享396元4年!

阿里云99元服务器优惠活动新老用户均可以购买&#xff0c;并且第二年续费不涨价&#xff0c;续费价格依旧是99元/年&#xff0c;如果现在买的话可以一直续费到2027年11月。活动&#xff1a;atengyun.com/go/aliyun 关于阿里云99元服务器原价续费套路和讨论&#xff1a; 阿里云…

在微信小程序中怎么做投票活动

在当今社交媒体时代&#xff0c;微信小程序已经成为一种广泛使用的互动营销工具。通过各种活动&#xff0c;企业可以吸引用户的关注&#xff0c;提升品牌影响力。其中&#xff0c;投票活动是一种特别受欢迎的形式。本文将为你详细介绍如何在微信小程序中创建投票活动。 一、微信…

CPU温度监控

设备的性能取决于其 CPU 的状况;没有 CPU&#xff0c;设备将无法正常运行&#xff0c;跟踪 CPU 运行状况指标至关重要&#xff0c;尤其是 CPU 温度&#xff0c;因为如果 CPU 变得过热&#xff0c;您的系统可能会滞后或崩溃。 CPU 温度的波动会导致大量网络停机&#xff0c;并导…

[unity]多脚本情况下update函数的执行顺序

序 有的时候&#xff0c;执行某些脚本时会有先后顺序的要求。unity是按什么顺序来执行脚本的&#xff1f;如何设置&#xff1f; 默认的执行顺序 官方文档里面有个很长的图&#xff1a; Unity - Manual: Order of execution for event functions (unity3d.com) 根据文档&…

【CocoaPods安装环境和流程以及各种情况】

CocoaPods 环境HomebrewRubyrbenvRubyGems 和 Bundler安装Ruby管理Ruby更新Ruby替换Ruby镜像方式1方式2 CocoaPods安装CocoaPodsCocoaPods使用如何插入一段漂亮的代码片安装的一些问题 参考的链接 环境 Homebrew Ruby 目前流行的Ruby环境管理工具有 RVM 和 rbenv。这里推荐使…

记录C# WinForm项目调用Rust生成的dll库

一、开发环境 1.RustRover (version&#xff1a;2023.3 EAP) 2.Visual Studio 2019 (version&#xff1a;16.11.30) 3.Windows 10 64位 OS 4.WinR&#xff1a;控制台程序&#xff0c;cmd.exe 二、使用RustRover编译Rust脚本为dll 1.下载安装Rust&#xff0c;https://www.…

蓝桥杯第3513题——岛屿个数

解答代码 解题思路全在代码注释中&#xff0c;本题作者使用bfs方式作答 import java.util.*; //1:无需package //2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);//T组数据&#xff0c;遍历T次…

数据库数据恢复——MongoDB数据库报错“错误1067”的数据恢复案例

MongoDB数据库介绍&#xff1a; MongoDB数据库是文档数据存储库&#xff0c;将文档存储在集合之中&#xff0c;不是像MySQL一样的关系型数据库。 MongoDB数据库是开源数据库&#xff0c;同时提供具有附加功能的商业版本。 MongoDB数据库中的数据是以键值对(key-value pairs)的形…

vite + electron引入itk报错

代码 import { readImageArrayBuffer } from itk-wasm console.log(readImageArrayBuffer)通过itk-wasm官网&#xff0c;创建新的项目vitevue&#xff08;vue2或者vue3&#xff09;&#xff0c;都没问题。加入electeon后包此错。通过排查&#xff0c;意外找到原因&#xff0c;…

短视频电商时代来临,除了抖音,快手,又一个短视频进军电商了!

大家好&#xff0c;我是电商糖果 是一个95后&#xff0c;现居河南郑州。 做电商行业有六年多的时间了&#xff0c;京东&#xff0c;闲鱼&#xff0c;天猫都搞过。 在2020年紧跟当时的电商风口&#xff0c;开始做短视频电商&#xff0c;几个合作人开了一家抖音小店。 因为当…

ElasticSearch的集群、节点、索引、分片和副本

Elasticsearch是面向文档型数据库&#xff0c;一条数据在这里就是一个文档。为了方便大家理解&#xff0c;我们将Elasticsearch里存储文档数据和关系型数据库MySQL存储数据的概念进行一个类比 ES里的Index可以看做一个库&#xff0c;而Types相当于表&#xff0c;Documents则相当…

SpringDataJpa(三)

七、Specifications动态查询 有时我们在查询某个实体的时候&#xff0c;给定的条件是不固定的&#xff0c;这时就需要动态构建相应的查询语句&#xff0c;在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。 import …