TAB切换先上图,tab标题没有添加样式,因为setIndicator可以直接接收View,所以可以自己编辑样式:
也可以实现OnTabChangeListener监听tab的点击,改变tab点击后的样式风格
1、首先创建TabHost布局,TabActivity使用TabHost 为根目录,根目录必须使用ID:android:id="@android:id/tabhost"
窗体必须使用ID:android:id="@android:id/tabcontent"
Tab标题必须使用Id:android:id="@android:id/tabs"
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@android:id/tabhost"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<FrameLayout
android:layout_height="0dip"
android:layout_width="fill_parent"
android:layout_weight="1"
android:id="@android:id/tabcontent"> </FrameLayout>
<TabWidget android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs"></TabWidget>
</LinearLayout>
</TabHost>
2、创建Activity
package com.demo.tabactivity; import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost; /**
* 这里实现继承tabActivity 实现tab页切换
* @author Administrator
*
*/
public class MainActivity extends TabActivity { TabHost tab_host; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabs);
//获得tabhost
tab_host = getTabHost();
//往tabhost添加tab,这里添加三个
createTabOne() ;
createTabTwo();
createTabThree();
} /**
* 添加的tab页,实现方式也可以实现TabContentFactory接口来创建tab
*/
public void createTabOne() {
//创建tab窗体
Intent intent = new Intent(MainActivity.this,OneActivity.class);
//添加到tabost,其中setIndicator为设置tab标题,可以自己编辑Tab标题的样式内容,包括文字货图标
tab_host.addTab(tab_host.newTabSpec("第一页").setIndicator("第一页", null).setContent(intent)); } /**
* 添加的tab页
*/
public void createTabTwo() {
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
tab_host.addTab(tab_host.newTabSpec("第二页").setIndicator("第二页", null).setContent(intent)); } /**
* 添加的tab页
*/
public void createTabThree() {
Intent intent = new Intent(MainActivity.this,ThreeActivity.class);
tab_host.addTab(tab_host.newTabSpec("第三页").setIndicator("第三页", null).setContent(intent)); }
}
其中OneActivity,TwoActivity,ThreeActivity为普通继承Activity的窗体,就不贴代码了
TabActivity 切换Activity界面的更多相关文章
-
使用ActivityGroup来切换Activity和Layout
前言 在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦.当然也可以把layout分开,把逻辑代码全 ...
-
Android TabActivity与Activity之间的动画跳转(主要Tabhost中跳转出来的动画效果解决)
首先,要说的是ActivityA到ActivityB的切换这个相对简单,只要overridePendingTransition(In,out). 这里不就说了.但是这里要说名的ActivityA不能T ...
-
滑动切换Activity代码
最近需要对练习项目中的代码进行优化,发现很多代码写起来远比想象的困难很多.刚接触Android时间不长,很多东西都不能融会贯通,所以才会有这样的问题存在,当然学习中遇到的问题很有必要做个总结.想想这个 ...
-
Android activity界面跳转动画
实现activity界面跳转动画 1.在startActivity方法之后加入: overridePendingTransition(R.anim.pull_in_right, R.anim.pull ...
-
ListView使用自定义适配器的情况下实现适配器的文本和图标控件点击事件执行Activity界面中的方法
ListView使用的是自定义适配器,列表项的布局文件中含有文本和图标,实现文本区域和图标区域的点击事件. 实现思路:在自定义适配器MyArrayAdapter 类型中自定义接口和接口方法,分别设置文 ...
-
ListView使用自定义适配器的情况下实现适配器的控件点击事件执行Activity界面中的方法
如果ListView使用的是自定义的适配器,比如MyArrayAdapter extends ArrayAdapter<String> 那么,如何实现适配器中的点击事件执行activity ...
-
使用appium做自动化时如何切换activity
在使用appium过程中遇到了执行一个用例时有多个不同的acitivity的情况,以下为app内部切换acitivity的方法: 如果仅需要切换一次activity,可以通过设置desired_cap ...
-
android项目中刷新activity界面
android项目中在sqlite数据库插入/更新/删除数据后: 1. 刷新当前activity界面数据(手动刷新): 在activity类下新增一个refresh()方法: /** * 刷新, 这样 ...
-
CentOS6.5 切换 图形界面 与 命令行界面
CentOS6.5 切换图形界面与命令行界面 [1]场景1:图形界面 -> 命令行界面 方式一(快捷键):Ctrl + Alt + F2 方式二(终端命令):init 3 (PS:init与3之 ...
随机推荐
-
OpenCV installation on Linux
Getting the Cutting-edge OpenCV from the Git Repository Launch Git client and clone OpenCV repositor ...
-
sql的执行顺序
sql的一般执行顺序(8)SELECT (9)DISTINCT (11)<Top Num> <select list>(1)FROM [left_table](3)<jo ...
-
Minimum Sum LCM(uva10791+和最小的LCM+推理)
L - Minimum Sum LCM Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submi ...
-
Redis client Python usage
http://www.yiibai.com/redis/redis_sorted_sets.html mport redis r_server = redis.Redis('localhost') # ...
-
nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)
前些天搭好了cas系统,这几天一致再搞nginx和cas的反向代理,一直不成功,但是走http还是测试通过的,最终确定是ssl认证证书这一块的问题,原本我在cas服务端里的tomcat已经配置了证书, ...
-
从 Vue 1.x 迁移 — Vue.js
闲聊: 又到周五啦,明天不用上班啦哈哈哈哈哈,想想就好开心啊,嘻嘻,小颖这周三的早晨做个一个美梦,把自己愣是笑醒了,梦的大概剧情我忘记了,总之宝宝是被笑醒的,行了之后还傻笑了一段时间,真希望每天早上都 ...
-
[阿里云] 云数据库mongodb外网连接
原教程,https://www.alibabacloud.com/help/zh/doc-detail/55253.htm 但按照这里的教程,还是连不上mongdb,甚至在ECS上也ping不通mon ...
-
git命令详解( 八)
此为记录git的第八篇,前七篇为远程篇,工作中最常用的都在前七篇,因为要在远程分支上合作开发 在提交树上移动 撤销变更 在提交树上移动 在接触 Git 更高级功能之前,我们有必要先学习在你项目 ...
-
Cisco 2960交换机配置
一. 基本操作 Switch(config)#hostname test01(交换机名称) //全局模式下修改交换机名称 Switch(config)#enable secret 123456 //全 ...
-
Go语言实现数据结构(一)单链表
1.基本释义 2.结构体设计 3.基本方法设计 4.Main函数测试 1. 基本释义 线性表包含两种存储方法:顺序存储结构和链式存储结构,其中顺序表的缺点是不便插入与删除数据:接下来我们重点实现基于G ...