Tabhost最纯净的实现方式

有时候经常使用别人用Tabhost+其它的实现demo。单纯利用Tabhost该如何使用呢?

下面看例子:

public class MainActivity extends TabActivity {
	public TabHost tabHost;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 获取对象
		tabHost = getTabHost();
		tabHost.addTab(tabHost.newTabSpec("index").setIndicator("实时新闻")
				.setContent(new Intent(this, IndexActivity.class)));
		tabHost.addTab(tabHost.newTabSpec("center").setIndicator("我的空间")
				.setContent(new Intent(this, MiddleActivity.class)));
		tabHost.addTab(tabHost.newTabSpec("self").setIndicator("设置")
				.setContent(new Intent(this, LastActivity.class)));
		// 指定的当前的tab
		// 通过索引指定 索引从0开始
		// 即一开始要显示的是哪一页
		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;
	}
}

二、效果图

(2)Tabhost选项卡置于底部的例子

采用LinearLayout布局,设置Weight属性就可以将选项卡位于底部

1、xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_weight="1.0" >
        </FrameLayout>

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </TabWidget>
    </LinearLayout>

</TabHost>

2、MainActivity

public class MainActivity extends ActivityGroup
{
    private TabHost mTabHost;

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

    private void initTabs()
    {
        mTabHost = (TabHost) findViewById(R.id.tabhost);
        mTabHost.setup(this.getLocalActivityManager());

        Intent intent = new Intent(this, HomepageActivity.class);
        mTabHost.addTab(mTabHost.newTabSpec("Tab1")
                .setIndicator(getString(R.string.homepage_indicator), getResources().getDrawable(R.drawable.homepage_indicator_selector))
                .setContent(intent));

        intent = new Intent(this, BillboardActivity.class);
        mTabHost.addTab(mTabHost.newTabSpec("Tab2")
                .setIndicator(getString(R.string.billboard_indicator), getResources().getDrawable(R.drawable.billboard_indicator_selector))
                .setContent(intent));

        intent = new Intent(this, MyLotteryActivity.class);
        mTabHost.addTab(mTabHost.newTabSpec("Tab3")
                .setIndicator(getString(R.string.mylottery_indicator), getResources().getDrawable(R.drawable.mylottery_indicator_selector))
                .setContent(intent));

        intent = new Intent(this, MoreActivity.class);
        mTabHost.addTab(mTabHost.newTabSpec("Tab4")
                .setIndicator(getString(R.string.more_indicator), getResources().getDrawable(R.drawable.more_indicator_selector))
                .setContent(intent));
    }
}

3、效果图

Tabhost最纯净的实现方式,布布扣,bubuko.com

时间: 2024-10-03 21:41:18

Tabhost最纯净的实现方式的相关文章

相当郁闷的问题,TabHost选项卡标签图标始终不出现?

在学习Android TabHost布局过程中,很多教程告诉我,这样来显示选项卡标签的图标和文字: TapSpec spec1 = tabHost.newTabSpec("tab 1"); spec1.setIndicator("选项卡一", getResources().getDrawable(R.drawable.tab_icon)); spec1.setContent(R.id.tab1); tabHost.addTab(spec1); 折腾来折腾去,setI

tabhost实现android菜单切换

做APP项目已经有半个月了.慢慢地熟悉了这个开发环境和开发套路. 虽然是摸着石头过河.但也渐渐看到了水的深度! 作为一个电商项目APP,势必会涉及究竟部菜单条的功能.自己实现这个功能的过程是崎岖的,最总完毕之后才发现这样的崎岖对于自己的学习是非常有帮助的! 对于这部分的探索拿来和大家分享,希望能够相助于大家! 实现app底部菜单条的方法有非常多种,亲身尝试了tabhost和fragment两种方式,终于还是成功做成了tabhost,拿来和大家分享. 事实上tabhost实现底部菜单条的功能非常e

TabHost的初步使用

本文主要参考自:http://blog.csdn.net/wulianghuan/article/details/8588947 (里面有TabHost第二种定义的方式,继承TabActivity) TabHost就是一个选项卡,类似于tab.这里我定义了三个标签,点击后会切换出不同的内容.之前用Fragment实现过类似的效果,总觉得还是Fragment+tab好用点. activity_main.xml <?xml version="1.0" encoding="u

Yii Framework开发教程(1)配置环境及第一个应用HelloWorld

准备工作: 我用的开发环境是windows下的apache+mysql+php 编辑器不知道该用哪个好,暂时用dreamweaver吧 我自己的http://localhost/对应的根目录是E:/website/localhost/ yii的下载地址是https://github.com/yiisoft/yii2/releases/download/2.0.0/yii-basic-app-2.0.0.tgz 备用下载地址:http://download.csdn.net/detail/u012

创建TabHost的两种方式的简单分析

最近做了一个TabHost的界面,在做的过程中发现了一些问题,故和大家分享一下. 首先我的界面如下: 目前就我所知,创建TabHost有两种方式,第一种是继承TabActivity类,然后用getTabHost方法来得到一个TabHost的实例,然后就可以给这个TabHost添加Tab了.示例代码如下: [java] view plaincopy public class PlotHost extends TabActivity  { @Override protected void onCre

Android ——TabHost使用

在Android中,通常可以使用切换卡(选项卡)实现切换显示不同页面内容的功能.这一功能可以通过TabHost控件来实现. 下面我们就通过一个简单的实例演示如何使用TabHost控件完成切换卡功能,完成后的运行效果如图1所示. 图1 主页显示效果 可以看出,在该实例中,总共设置了四个TabHost标签,分别为主页.时间.联系人和搜索.在点击这些标签时,便可以完成相应页面内容的显示. 1.界面布局 TabHost是整个Tab的容器,是由TabWidget和FrameLayout 两部分组成的.其中

[教程] 离线封装原版WIN7系统 100%纯净

raymond 发表于 2015-11-28 18:54:15 https://www.itsk.com/thread-360376-1-4.html 对于之前我用母盘封装的系统,纯粹是为了体积而折腾. WIN7x64封装体积小于4G制作过程 https://www.itiankong.net/thread-359041-1-1.html WIN8.1x64专业版封装体积小于4G制作过程 https://www.itiankong.net/thread-360148-1-1.html 下面来分享

[软件] 装机员 Ghost Win7 Sp1 32位纯净10月版

软件 软件名称: 装机员 32位纯净10月版 软件语言: 简体中文 软件大小: 3.16 大小: GB 发布日期: 2016-10-02 文件名称: ZJY_Ghost_win 7_X86_CJ201610.GHO M D 5: 370BE912B9792FD81785899BBC90E50E 软件封面: 迅雷下载: thunder://QUFodHRwOi8vZG93bi56aHVhbmdqaXl1YW4uY29tOjk1My9aSllfR2hvc3Rfd2luIDdfWDg2X0NKMjAx

CSS的4种引入方式及优先级

第一:CSS的4种引入方式 CSS的4种引入方式是:行内样式.内嵌样式.链接样式.导入样式 1.行内样式 最直接最简单的一种,直接对HTML标签使用style="",例如: <p style="color:#F00; "></p> 缺点:HTML页面不纯净,文件体积大,不利于蜘蛛爬行,后期维护不方便. 2.内嵌样式 内嵌样式就是将CSS代码写在<head></head>之间,并且用<style></s