文档章节

双层TabHost嵌套

巴顿
 巴顿
发布于 2014/02/22 23:34
字数 552
阅读 709
收藏 0

主TabHost

public class MainActivity extends ActivityGroup{


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
		tabHost.setup(this.getLocalActivityManager());

		tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("First Tab")
				.setContent(new Intent(this, MainActivity1.class)));

		tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("Second Tab")
				.setContent(new Intent(this, MainActivity1.class)));

		tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("Third Tab")
				.setContent(new Intent(this, MainActivity1.class)));
		tabHost.setCurrentTab(0);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

主TabHost 布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <TabHost
        android:id="@+id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        >
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
              <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                >
            </TabWidget>
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >
            </FrameLayout>
          
        </RelativeLayout>
    </TabHost>
 
</RelativeLayout>

  子TabHost

public class MainActivity1 extends Activity {

	private ListView listView;
	private List<String> currentData;// 当前视图显示的数据
	private CustomAdapter customadapter;// 自定义适配器
	private View loadingView;// 加载视图的布局

	private int currentPage = 1;// 当前页,默认为1
	private int pageSize = 20;// 每页显示十条信息
	private int last_item_position;// 最后item的位置

	private boolean isLoading = false;// 是否加载过,控制加载次数

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main1);

		TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
		tabHost.setup();
		TabWidget tabWidget = tabHost.getTabWidget();
		tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("First Tab")
				.setContent(R.id.tab1));

		tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("Second Tab")
				.setContent(R.id.tab2));

		tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("Third Tab")
				.setContent(R.id.tab3));
		tabHost.setCurrentTab(0);
		int height = 30;
		// int width =45;
		for (int i = 0; i < tabHost.getChildCount(); i++) {

			/** 设置高度、宽度,由于宽度设置为fill_parent,在此对它没效果 */
			tabWidget.getChildAt(i).getLayoutParams().height = height;
			// tabWidget.getChildAt(i).getLayoutParams().width = width;
		}
		tabHost.setOnTabChangedListener(new MyTabListener(this));
	}

布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <TabHost
        android:id="@+id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >
 
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
            </TabWidget>
 
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >
 
             <LinearLayout
                    android:id="@+id/tab1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
 				<ListView android:id="@+id/lv_id"
				 android:layout_width="fill_parent"
				 android:layout_height="wrap_content" />         
                </LinearLayout>
 
                <LinearLayout
                    android:id="@+id/tab2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                    <Button
                        android:id="@+id/button1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Second Tab Content" />
                </LinearLayout>
 
                <LinearLayout
                    android:id="@+id/tab3"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                    <Button
                        android:id="@+id/button1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Third Tab Content" />
                </LinearLayout>
            </FrameLayout>
        </LinearLayout>
    </TabHost>
 
</RelativeLayout>


本文转载自:http://blog.csdn.net/feng88724/article/details/6203358

上一篇: 冒泡排序
巴顿

巴顿

粉丝 50
博文 232
码字总数 27820
作品 0
广州
程序员
私信 提问
在新建的广播机制的内部类public void onReceive(Context arg0, Intent arg1)方法里重写外部类的setContentView()

实现了一个TabHost双层嵌套布局 (一),外层TabHost有2个标签按钮:"主页"和"游戏",写在下面类里 public class MainActivity extends ActivityGroup implements OnTabChangeListener{ @Overrid......

朝暮行风
2014/07/22
1K
0
新手寻求>可运行源码

@巴顿 你好,想跟你请教个问题: 拜读大作<>,作为初学者,没接触过TabHost 对这几句句的源代码感兴趣,希望自己能够更深入的学习,如能教我全部代码将不胜感激! getMenuInflater().inflate(R.m...

朝暮行风
2014/07/11
76
1
Android tabhost装fragment,fragment里面嵌套tabhost

android 嵌套tabhost,我再tabhost里面装了4个fragment,在其中一个fragment里面装了tabhost,这个tabhost里面装了两个fragment,当我第一次滑动切换页面时,内层的fragment显示正常,但是当...

杏帘fly
2014/04/27
1K
3
【Android进阶】嵌套TabHost (TabHost中放TabHost,类似二级目录、二级树)

今天讲一下,如何在TabHost中,再放TabHost。 先来看一下效果。 一层TabHost 两层Tabhost (内部TabHots在上面) 两层TabHost (内层TabHots在下面) 下面说一下代码,一共3个 java类,3个xml布局...

晨曦之光
2012/03/01
5.1K
2
TabHost中的Activity调用overridePendingTransition()方法无效

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

Xushao
2013/01/05
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Java8

package com.shi.lambda;import java.util.Arrays;import java.util.List;import org.junit.Test;import com.shi.model.Employee;/** * 初始化案例 * @author xiaosh......

小小小施爷
28分钟前
1
0
c# 动态编译代码

有时候做计算一些东西时候,算法一直变更,写在程序需要一直调整,因此算法写在cs文件,然后动态调用内部的方法去计算判断,只需变更cs文件即可。 添加Nuget,CodeDom,但是有两个添加都可以...

朝如青丝暮成雪
29分钟前
3
0
好程序员技术分享html5和JavaScript的区别

好程序员技术分享html5和JavaScript的区别,HTML5广义上讲是前端开发学科的代名词,包含HTML5、CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称。如PC端网站、管理系统、手机网...

好程序员IT
31分钟前
2
0
tomcat 与 spring boot 设置虚拟路径

tomcat 设置虚拟路径 <Context path="/uploadDir" docBase="/data"/>path是请求访问的路径docBase是服务器存储文件的路径,Linux 根目录下 data spring boot 虚拟路径设置 registry.addRe......

kdy1994
34分钟前
1
0
var ,let ,const 的区别和共同点

一、let和var区别 1.关于变量提升,var能变量提升,let不能 // 关于var 如下所示console.log(a); //输出undefined,此时就是变量提升var a = 2; console.log(a); //2 //相当于下面...

MrBoyce
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部