Android中选项卡功能的实现

Android中使用View实现选项卡功能 效果图 MainActivity中: package com.example.testview; import android.app.Activity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import andro 阅读详情

Android中使用TabHost和TabWidget来实现选项卡功能。TabHost必须是布局的根节点,它包含两个子节点:

TabWidget,显示选项卡;

FrameLayout,显示标签内容。


实现选项卡功能有两种方法,一种是将多个View放在同一个Activity中,然后使用使用标签来进行切换。另一种是直接使用标签切换不同的Activity。

后一种方法更为常用一些。本文也只介绍了后一种方法的实现过程。

1. 创建一个工程,名字可以叫HelloTabWidget。

2. 创建多个不同的Activity,用来表示各个标签页中的不同内容。

3. 为标签设计不同的icon。每个标签应该有两个icon,一个表示选中,一个未选中。将图片放在 res/drawable/文件夹下。然后创建一个相应的

StateListDrawable,用来实现在选中和未选中直接自动的切换。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected, use grey -->
    <item android:drawable="@drawable/ic_tab_artists_grey"
          android:state_selected="true" />
    <!-- When not selected, use white-->
    <item android:drawable="@drawable/ic_tab_artists_white" />
</selector>

4. 将main.xml替换为以下内容。

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
    </LinearLayout>
</TabHost>

5. 让你的主Activity继承自TabActivity。

6. 在主Activity的onCreate方法中加入标签

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
    Intent intent;  // Reusable Intent for each tab

    // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent().setClass(this, ArtistsActivity.class);

    // Initialize a TabSpec for each tab and add it to the TabHost
    spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                      res.getDrawable(R.drawable.ic_tab_artists))
                  .setContent(intent);
    tabHost.addTab(spec);

    // Do the same for the other tabs
    intent = new Intent().setClass(this, AlbumsActivity.class);
    spec = tabHost.newTabSpec("albums").setIndicator("Albums",
                      res.getDrawable(R.drawable.ic_tab_albums))
                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, SongsActivity.class);
    spec = tabHost.newTabSpec("songs").setIndicator("Songs",
                      res.getDrawable(R.drawable.ic_tab_songs))
                  .setContent(intent);
    tabHost.addTab(spec);

    tabHost.setCurrentTab(2);
}

7. 运行程序即可看到效果。

总结:

main.xml中定义的选项卡的样式,它和TabActivity共同配合,创建了选项卡的框架。TabHost.TabSpec 代表了一个选项卡的内容,TabHost使用addTab方法将其加入到整个选项卡中。

TabHost.TabSpec

Android快速实现选项卡 Android快速实现选项卡,几行代码实现Android选项卡界面,支持标准底部Tab自定义视图选项卡,头部文字选项卡。实现介绍请参考:http://www.youkuaiyun.com/ 立即下载

相关推荐

Android中使用View实现选项卡

最近写项目,有一个功能,使用View实现选项卡功能,我把写好的里上传到这里,希望和大家交流学习

关于android 选项卡效果及选项卡在屏幕中位置的任意放置

在PC端我们经常见到选项卡 选项卡简洁,便捷,美观  下面介绍一下选项卡在android中的实现。 先放上2张效果图:    进入正题 先贴上布局文件的代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_p

在别处 3522

Android选项卡Activity实现完整代码

Android选项卡Activity实现完整代码,完整工程,导入即可使用

android 选项卡_带选项卡的Android操作栏

android 选项卡 从API级别11引入了操作栏。在本文中,我将说明如何在带有片段的操作栏中创建标签。 最终结果显示在下面,用户可以在两个选项卡之间移动。 创建操作栏和选项卡 第一步是获取操作栏引用并将标签添加到其中: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat...

706

Android TabHost+ScrollView实现项卡切换+下拉显示头部效果 源码

一个帮你实现选项卡切换+下拉显示头部等效果的布局。

Android多个TAB选项卡切换效果

主要介绍了Android多个TAB选项卡切换效果的实现代码,感兴趣的小伙伴们可以参考一下

android 实现选项卡

Android 实现选项卡的全攻略 在 Android 应用开发中,选项卡(Tab)是一种常见的用户界面组件,主要用于在同一界面下实现不同内容的切换。选项卡使得用户能够在多个视图之间快速导航,从而提高应用的可用性和用户体验。本文将展示如何在 Android 中实现选项卡,并提供相应的代码示例。 1. 选项卡的基本概念 选项...

weixin_35212670的博客 499

【四旋翼】pixhawk2.4.8-地面站配置-APM固件-四旋翼从装机到试飞

因为MP版本和APM版本的适配问题,真的真的是很大一个坑。最好先走别人走过的路,走通了再去自由发挥,不然白白浪费时间。下面提供我试飞成功过的版本。下面提供任意版本固件和地面站的下载方法。

xifan的博客 3万+

android选项卡_android基础控件(一)选项卡的实现

1.TabHost+TabWidget+FragmentLayout1.1 主布局main_layout<TabHost android:layout_width="match_parent" android:layout_height="match_parent" android:id="@android:id/tabhost"> 自带布局 &l...

weixin_34639033的博客 2070

matlab液体湿润模拟,【水文模型】01 三水源新安江模型

目录一、概述1.1 流域概况1.2 产流方式论证1.3 设计基本任务1.4 设计原始资料二、新安江模型2.1 流域划分2.2 产汇流计算2.2.1 蒸散发计算2.2.2 产流计算2.2.3 水源划分2.2.4 汇流计算2.3 模型参数2.3.1 参数物理意义2.3.2 参数率定结果2.4 模拟结果2.4.1 精度统计表2.4.2 计算与实测流量过程线比较三、精度统计与误差分析3.1 精度统计3.2...

weixin_34173656的博客 5327

Obsidian笔记同步实战:基于Git的私有化部署与自动化管理

本文详细介绍了如何利用Git为Obsidian笔记构建私有化、自动化且免费的同步方案。通过安装配置Git与Obsidian-git插件,结合Gitee等远程仓库,实现笔记的版本管理、多设备同步与自动备份,打造安全可靠的知识管理体系。

y7z8a的博客 272

android 选项卡界面

一  用RadioGroup和ViewPager实现选项卡界面 1 定义一个list用来存放选项卡各个界面的view        /**Tab页面列表*/     private List list_view = new ArrayList();     //往列表中添加界面      list_view.add( view1 ); 2  定义监听器和适配器

duduhali的专栏 4524

c# U盘禁用---守护进程(插入,拔出,卸载等操作)

一、简介 传统的对U盘禁用,我们多采用修改注册表的方式,详情参考:https://blog.youkuaiyun.com/qq_25372599/article/details/79815407;本文将介绍一种其他的方式–后台守护程序。其原理非常简单:当守护程序检测到U盘的插入信号,我们自动卸载U盘,致使系统无法识别U盘,达到禁用U盘的效果。 二、程序设计 2.1 变量定义 strin...

星星之火燃亮码空 2845

安卓应用开发新选择:Android Studio多个按钮跳转多个页面,利用选项卡功能实现

安卓应用开发新选择:Android Studio多个按钮跳转多个页面,利用选项卡功能实现 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 在Android Studio中实现多个按钮跳转至多个页面,并利用选项卡功能优化用户交互体验。 项目介绍 在现代移动应用开发中,用户体验是至关重要的。一个直观、流畅的用户界面能够显著提升用户对应用的满意度。Android S...

gitblog_06787的博客 744

相机标定-张正友棋盘格标定法

(X,Y,Z)为在世界坐标系下一点的物理坐标 ( u , v ) 为该点对应的在像素坐标系下的像素坐标 引入齐次坐标的原因:引入齐次坐标的目的是为了升维,将坐标从二维坐标变为三维坐标。 2.相机成像过程 相机成像系统中,共包含四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。 (1)世界坐标系(,,) 描述目标在真实世界中的位置引入的参考坐标系。 (2)相机坐标系(,,) ...

qq_41275123的博客 1万+

13、基因相似性度量的相关性及特征选择研究

本文研究了基因相似性度量和特征选择在生物学中的应用,详细介绍了GO术语相似性度量的多种方法,包括语义度量和路径长度度量,并分析了不同方法在酵母和人类数据集上的表现。研究发现,Avg-sum方法和基于路径长度的度量在多数情况下效果较好。此外,通过晚期辐射毒性预测的案例研究,探讨了特征选择的重要性及可能面临的过拟合和噪声干扰问题,并提出了相应的解决策略。

js777的博客 127

android 技能标签功能_Android中选项卡功能的实现

Android中使用TabHost和TabWidget来实现选项卡功能。TabHost必须是布局的根节点,它包含两个子节点:实现选项卡功能有两种方法,一种是将多个View放在同一个Activity中,然后使用使用标签来进行切换。另一种是直接使用标签切换不同的Activity。后一种方法更为常用一些。本文也只介绍了后一种方法的实现过程。1. 创建一个工程,名字可以叫HelloTabWidget。2....

weixin_39609166的博客 279

无人驾驶Autoware导读

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对无人驾驶Autoware介绍做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 2397

android 功能项,Android开发之选项卡功能的实现方法示例

本文实例讲述了Android选项卡功能的实现方法。分享给大家供大家参考,具体如下:选项卡(TabHost)方便的在窗口上设置多个标签页,每个标签页相当于获得一个与外部容器相同大小的组件摆放区域通过这种方式,可以在一个容器中放置多组件。创建4个java文件并对应layout创建主java ,代码package lianxi;import com.example.jichu_lianxi.R;impo...

weixin_34668160的博客 574

【YOLOv8改进-卷积Conv】 SAConv(Switchable Atrous Convolution):可切换的空洞卷积

许多现代目标检测器通过采用二次观察和思考机制展示了卓越的性能。在本文中,我们在目标检测的主干设计中探索了这一机制。在宏观层面上,我们提出了递归特征金字塔(Recursive Feature Pyramid),该金字塔将特征金字塔网络(Feature Pyramid Networks)的额外反馈连接融入到底层的自下而上主干层中。在微观层面上,我们提出了可切换空洞卷积(Switchable Atrous Convolution),该卷积通过不同的空洞率卷积特征,并使用切换函数汇集结果。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1528

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android 多tab程序实现,Android编程实现自定义Tab选项卡功能示例

本文实例讲述了Android编程实现自定义Tab选项卡功能。分享给大家供大家参考,具体如下:import android.app.TabActivity;import android.content.Intent;import android.os.Bundle;import android.widget.*;import android.widget.TabHost.OnTabChangeLis...

weixin_39629467的博客 409

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 横向选项卡,ViewPager+Fragment实现多屏选项卡水平切换功能【Android】

精辟句:我不想,我不想,不想上班,我只想,我只想,睡觉拿工资吃大餐……之前在【Android】ViewPager+Fragment实现水平滑动选项卡这篇文章中,已经讲解了ViewPager+Fragment实现水平滑动选项卡,但是这篇文章当中选项卡的个数不能太多,只能显示一屏。但是在实际开发当中会出现一屏并不能显示全部的选项卡情况,本篇文章将会给大家讲解ViewPager+Fragment实现多屏...

weixin_39833763的博客 530

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android使用viewpager计算偏移量实现选项卡功能

实现选项卡功能,通过计算偏移量,设置tetxview和imageView的对应值,一些color的值读者自己去补充实现效果图:(1)简单写一个主界面的布局activity_main.xml&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.co...

cf8833的博客 1433

使用Android Support Design 控件TabLayout 方便快捷实现选项卡功能

android M 新控件 TabLayout 方便快捷实现选项卡功能

Android茶话会 6454

android 京东商品筛选功能,Android开发实现仿京东商品搜索选项卡弹窗功能

本文实例讲述了Android开发实现仿京东商品搜索选项卡弹窗功能。分享给大家供大家参考,具体如下:一、效果图:二、思路:(1)首先顶部布局由通过LinearLayout水平按比重平均分配各个item宽度。(2)每个item设置两种状态,点击状态与未点击状态(3)弹窗由PopupWindow实现三、布局(1)item布局android:id="@+id/rl_priority_filter"andr...

weixin_39548972的博客 740

android的fragment作用,android.app.Fragment实现选项卡功能【Android】

目标不是都能达到的,但它可以作为瞄准点。前言:Fragment是Android3.0后引入的一个新的API,它出现的初衷是为了适应大屏幕的平板电脑, 当然现在它仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把它看成一个小型的Activity,又称Activity片段!想想,如果一个很大的界面,我们就一个布局,写起界面来会有多麻烦,而且如果组件多的话是...

weixin_32035057的博客 696
上一篇: AndroidManifest.xml 详解
下一篇: 完全的退出程序
neptuneai
博客等级 码龄16年 5粉丝 29原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值