文档章节

android Tabhost的使用

joker_zhou
 joker_zhou
发布于 2014/07/17 16:04
字数 337
阅读 16
收藏 0

1 xml 配置/res/layout

TabHost的id必须为 tabhost Framelayout的id必须为 tabcontentTabWidget的id必须为 tabs

TabHost,Framelayout,TRabWidge都是缺一不可的,

<?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">
      <FrameLayout
         android:id="@android:id/tabcontent"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_weight="1"> <!--加上weight属性FrameLayout显示的内容不会覆盖掉TabWidget,不知道为什么 -->
         <LinearLayout android:id="@+id/tab2"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">

             <Button
                 android:id="@+id/button1"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="Button" />
             
         </LinearLayout>
      </FrameLayout>
      <TabWidget
         android:id="@android:id/tabs"
         android:layout_width="fill_parent"
         android:layout_alignParentBottom="true"<!--网上说这个设置TabWidget在下方,我这边实验是完全和这个属性无关,eclipse也提示我这个属性是无效的 -->
         android:layout_height="wrap_content"/>
    </LinearLayout>
</TabHost>
2 java代码

public class MainActivity extends TabActivity  {
		TabHost tabs =null;
	    @Override
	    public void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState); 
	        setContentView(R.layout.activity_main);
	        tabs =getTabHost();        
	      //设置Tab1    
	        TabSpec tab1 = tabs.newTabSpec("tab1");    
	        tab1.setIndicator("tab1");      // 设置tab1的名称    
	        tab1.setContent(R.id.tab2);    // 关联控件   //如果关联的控件不属于R.layout.activity_main 就是setContentView的参数的控件需要LayoutInflater.from(this).inflate(R.layout.a, tabs.getTabContentView(),true);执行这段代码
	        tabs.addTab(tab1);                // 添加tab1
	      //设置Tab1    
	        TabSpec tab2 = tabs.newTabSpec("tab1");    
	        tab2.setIndicator("tab1");      // 设置tab1的名称    
	        tab2.setContent(new Intent(this,LoginActivity.class));    // 关联控件,此控件是一个Activity
	        tabs.addTab(tab2); 
	        tabs.setCurrentTab(0);  //设置当前Tab
	    }
	
	    @Override
	    public boolean onCreateOptionsMenu(Menu menu) {
	        getMenuInflater().inflate(R.menu.activity_main, menu);
	        return true;
	    }
	
	    
	}


本文转载自:http://blog.csdn.net/joker_zhou/article/details/7776423

joker_zhou
粉丝 2
博文 100
码字总数 4167
作品 0
青岛
私信 提问
Android ——TabHost使用

在Android中,通常可以使用切换卡(选项卡)实现切换显示不同页面内容的功能。这一功能可以通过TabHost控件来实现。   下面我们就通过一个简单的实例演示如何使用TabHost控件完成切换卡功能...

的书法上的
2014/08/05
165
0
Android TabHost 详细讲解

一、什么是TabHost。 Android 里面的TabHost就是选项卡,看下图(新浪微博界面): 至于选项卡有什么好处或者用途,我想代码哥们都知道吧,我就不多说了。 二、在Android里面如何实现TabHost 有...

长平狐
2012/09/03
2.6K
1
Android选项卡实现之TabHost/TabSpec/TabWidget

Tab是什么就不用再用我来描述了。android的ui开发中,承载Tab的容器就是TabHost,每一个Tab对应一个Activity,每个Activity均会有自己的布局。 1.继承TabActivity 2.布局文件中使用tabHost,t...

古沐风
2013/11/27
6.1K
2
TabHost中的Activity调用overridePendingTransition()方法无效

在定义的MyActivity中,继承的是TabActivity,添加了几个Activity,比如说A、B、C,采用了TabHost管理切换不同的主页面。 现在A如果展示的是一个列表,点击每一项,可以进入A的子页面,这时候...

Xushao
2013/01/05
3.9K
2
tabhost组件点击切换操作

在使用TabHost组件时遇到了困难,我没有让它继承TabActivity,而是定义自己的tabhost,具体代码如下: mian.xml文件: tab1.xml文件: tab2.xml文件与tab1.xml文件相似,包含一个按钮和一个t...

追风箭
2014/05/07
620
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 ——不知道假装开心,装的像么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :天黑了 你很忧愁, 你说世界上, 找不到四块五的妞, 行走在凌晨两点的马路上, 你疲倦地拿着半盒黄鹤楼。#今日歌曲推荐# 《四块...

小小编辑
今天
2.1K
16
64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
昨天
69
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
昨天
32
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
昨天
116
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
昨天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部