android标签切换卡,Android切换卡TabWidget用法示例
本文实例讲述了Android切换卡TabWidget用法。分享给大家供大家参考,具体如下:
Tab选项卡类似与电话本的界面,通过多个标签切换不同的内容,要实现这个效果,首先要知道TabHost,它是一个用来存放多个Tab标签的容器,每一个Tab都可以对应自己的布局,比如,电话本中的Tab布局就是一个线性布局
要使用TabHost,首先要通过getTabHost方法获取TabHost的对象,然后通过addTab方法来向TabHost中添加Tab,当然每个Tab在切换时都会产生一个事件,要捕捉这个事件,需要设置TabActivity的事件监听setOnTabChangedListener
下面是个小例子:
TabTest.java:
package org.hualang.tab;
import android.app.Activity;
import android.app.TabActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.Toast;
import android.widget.TabHost.OnTabChangeListener;
public class TabTest extends TabActivity {
/** Called when the activity is first created. */
TabHost tabhost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//取得TabHost对象
tabhost = getTabHost();
//为TabHost添加标签
//新建一个newTabSpec(newTabSpec)
//设置其标签和图标(setIndicator)
//设置内容(setContent)
tabhost.addTab(tabhost.newTabSpec("tab1")
.setIndicator("TAB 1",getResources().getDrawable(R.drawable.img1))
.setContent(R.id.text1));
tabhost.addTab(tabhost.newTabSpec("tab2")
.setIndicator("TAB 2",getResources().getDrawable(R.drawable.img2))
.setContent(R.id.text2));
tabhost.addTab(tabhost.newTabSpec("tab3")
.setIndicator("TAB 3",getResources().getDrawable(R.drawable.img3))
.setContent(R.id.text3));
//设置TabHost的背景颜色
//tabhost.setBackgroundColor(Color.argb(150,22,70,150));
//设置TabHost的背景图片资源
tabhost.setBackgroundResource(R.drawable.bg0);
//设置当前显示哪个标签
tabhost.setCurrentTab(0);
//标签切换事件处理,setOnTabChangedListener
tabhost.setOnTabChangedListener(new OnTabChangeListener()
{
public void onTabChanged(String tabId)
{
Toast toast=Toast.makeText(getApplicationContext(), "现在是"+tabId+"标签", Toast.LENGTH_SHORT);
toast.show();
}
});
}
}
main.xml:
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="选项卡1" />
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="选项卡2" />
android:id="@+id/text3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="选项卡3" />
希望本文所述对大家Android程序设计有所帮助。
android标签切换卡,Android切换卡TabWidget用法示例相关推荐
- sleep as android标签,Sleep as Android:终于、终于可以无痛起床
本文参与「我的 2018 年度关键词」年度征文活动. 清晨,我床头的手机响起熟悉的<See you again>的前奏.两分钟后,五个舍友陆陆续续都被闹醒了,而我依然沉浸在美梦中.「醒醒! ...
- android使用 注解框架,Android实践 | 注解框架ButterKnife基本使用
使用ButterKnife,我们可以不用写很多的findViewById()语句,以及通过getResources获取String.Color等资源,这可以让我们的代码更加简洁,使用起来也很方便.下面 ...
- android 自定义 theme,为Android手机制作自定义主题
我是一名新的移动开发人员,我知道如何在应用程序上放置主题,到目前为止,我已经能够制作2个移动应用程序,但我想尝试为手机制作自定义主题.我想知道是否有人对以下内容有想法. 1.how to make a ...
- Android默认电话卡,Android智能终端SIM卡自动切换方法与流程
本发明涉及智能终端的技术领域,尤其涉及一种SIM卡的切换方法. 背景技术: 现在的手机等机器基本支持多卡配置,而且现在单卡配置基本已经不能满足人们的日常需求:并且在智能系统的潮流之下,有人喜欢用手机看 ...
- Android 系统(145)---切换两张sim卡的移动网络,自动锁屏
切换两张sim卡的移动网络,自动锁屏 1描述 1. 插入两张sim卡,设置安全锁屏 2. 设置--网络和互联网--SIM卡--首选sim卡--移动数据--切换两张卡的移动网络 3. 手机自动锁屏 ...
- android stk 卡号切换,[技巧]mpx200如何使用一卡双号或者一卡多号
在2003下,支持stk,可以用有stk菜单的一卡双号或者一卡多号,不过,切换号码手机要自动重启,很不方便:使用开关机切换型,即开关一次自动切换一次号码就比较方便,可以使用飞行模式切换. 在wm5下, ...
- android stk 卡号切换,采用stk/utk实现手机双卡切换及其它功能的方法和装置的制作方法...
专利名称:采用stk/utk实现手机双卡切换及其它功能的方法和装置的制作方法 技术领域: 本发明涉及手机双卡,主要是指一种采用STK/UTK技术实现手机待机双卡切换等功能的方法及其装置. 背景技术: ...
- android tab 切换动画,Android之ViewPager+TabLayout组合实现导航条切换效果(微信和QQ底部多标签切换)...
前言 之前在另外一篇中用Fragment和button实现了点击切换Fragment的效果,比较简陋.这次改用ViewPager+TabLayout 实现联动的效果. 实现效果 ViewPager 多 ...
- android 对象存储sd卡,Android网络与数据存储——File存储(实现SD卡文件浏览器)...
Java提供了一套完整的IO流体系,包括FileInputStream.FileOutPutStream等,通过这些IO流可以非常方便的访问磁盘上的文件内容.Android同样支持以这种方式来访问手机 ...
最新文章
- java二叉树镜像_给定一个二叉树,检查它是否是镜像对称的。
- XGBoost、LightGBM的详细对比介绍
- 您是否应该始终偏爱xrange()而不是range()?
- 这是我在网上安的第一个窝!
- centos7开机启动自定义脚本_在Centos 7系统中开启启动自定义脚本的方法
- linux二进制安装包制作,linux下二进制安装包的创建
- [leetcode] 413. 等差数列划分
- 测试用ASP.NET建立一个在线RSS新闻聚合器
- 计算机基础知识集体备课,计算机基础知识集体备课.doc
- 手机上怎么安装Java的软件游戏
- oracle 手机壁纸,盘卷先知 Coiling Oracle壁纸图片65 - 猫猫壁纸酷 wallcoo.com
- python文件写入方式_Python写入文件的方式
- iOS HealthKit
- 9月TIOBE编程语言排行榜出炉,这个语言或成最大赢家!
- Prometheus安装配置及其相关组件的应用
- 车载网络测试 - UDS诊断篇 - 故障码(DTC)
- 淘宝无线端店铺权重提升方法技巧步骤
- 如何使用canvas进行画图
- 深度调查:内耗不止,Sushiswap内部究竟发生了什么?|链捕手
- 北大生卖猪肉,腾讯程序员送外卖,人最重要的不是面子而是活下去
热门文章
- java实现冗余校验_循环冗余校验_循环冗余校验码计算_循环冗余校验 java实现(6)...
- Web容器默认的servlet
- html鼠标自动向下滑动,基于JavaScript实现鼠标向下滑动加载div的代码
- 请描述定时器初值的计算方式_51单片机定时器初值计算器
- python3中round的用法_Python 3标准库用法--reversed、round、set
- tomcat 8集合memcache所需完整jar包_使用 zabbix 监控 tomcat(包含jvm监控)
- maven junit空指针_Maven相关笔试面试题目
- 计算机网络利弊的作文英语作文,网络的弊端英语作文(精选6篇)
- java jsonfield_【技术累积】【点】【java】【27】@JSONField
- oracle的服務監聽器,Oracle监听器和服务名的配置