Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 792|回复: 0

Android---UI篇---TabWidget(切换卡)-  Android学习

[复制链接]

该用户从未签到

发表于 2011-10-24 15:09:16 | 显示全部楼层 |阅读模式
Tab选项卡类似与电话本的界面,通过多个标签切换不同的内容,要实现这个效果,首先要知道TabHost,它是一个用来存放多个Tab标签的容器,每一个Tab都可以对应自己的布局,比如,电话本中的Tab布局就是一个线性布局

要使用TabHost,首先要通过getTabHost方法获取TabHost的对象,然后通过addTab方法来向TabHost中添加Tab,当然每个Tab在切换时都会产生一个事件,要捕捉这个事件,需要设置TabActivity的事件监听setOnTabChangedListener

下面是个小例子:
TabTest.java

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

Java代码
<?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

        androidrientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent">

        <TabWidget

            android:id="@android:id/tabs"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content" />

        <FrameLayout

            android:id="@android:id/tabcontent"

            android:layout_width="fill_parent"

            android:layout_height="fill_parent">

            <TextView

                android:id="@+id/text1"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:text="选项卡1" />

            <TextView

                android:id="@+id/text2"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:text="选项卡2" />

            <TextView

                android:id="@+id/text3"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:text="选项卡3" />

            </FrameLayout>

    </LinearLayout>

</TabHost>
复制代码

运行效果如下:

回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:09:20 | 显示全部楼层

Re:Android---UI

学习。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:09:28 | 显示全部楼层

Re:Android---UI

支持支持~~~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:09:31 | 显示全部楼层

Re:Android---UI

在看看~~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:09:35 | 显示全部楼层

Re:Android---UI

走了走了~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:09:39 | 显示全部楼层

Re:Android---UI

挺好的,顶一下了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 15:09:42 | 显示全部楼层

Re:Android---UI

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 14:29 , Processed in 0.346544 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表