当前位置:
开发笔记 >
Android > 正文
Android开发之TabActivity用法实例详解
作者:爵士KI | 来源:互联网 | 2022-08-04 07:56
这篇文章主要介绍了Android开发之TabActivity用法,结合实例形式较为详细的分析了Android扩展Activity实现标签页效果的具体步骤与相关技巧,需要的朋友可以参考下
本文实例讲述了Android开发之TabActivity用法。分享给大家供大家参考,具体如下:
一.简介
TabActivity继承自Activity,目的是让同一界面容纳更多的内容。TabActivity实现标签页的功能,通过导航栏对各个页面进行管理。
二.XML布局文件
注意:
1.TabActivity的布局文件要求以TabHost作为XML布局文件的根。
2.通常我们采用线性布局,所以 的子元素是 。
3.对应Tab
三.TabActivity
1.TabHost:TabHost是Tab的载体,用来管理Tab。
2.TabHost的一些函数
(1)获取
TabHost tabHost=this.getTabHost();
(2) 创建TabHost.TabSpec
public TabHost.TabSpec newTabSpec (String tag)
(3)添加tab
public void addTab (TabHost.TabSpec tabSpec)
(4)remove所有的Tabs
public void clearAllTabs ()
public int getCurrentTab ()
(5) 设置当前的Tab (by index)
public void setCurrentTab (int index)
(6) 设置当前的(Tab by tag)
public void setCurrentTabByTag (String tag)
(7)设置TabChanged事件的响应处理
public void setOnTabChangedListener (TabHost.OnTabChangeListener l)
3.TabHost.TabSpec要设置tab的label和content,需要设置TabHost.TabSpec类。TabHost.TabSpec管理:
public String getTag ()
public TabHost.TabSpec setContent
public TabHost.TabSpec setIndicator
(1)Indicator这里的Indicator 就是Tab上的label,它可以
设置label :
setIndicator (CharSequence label)
设置label和icon :
setIndicator (CharSequence label, Drawable icon)
指定某个view :
(2)Content对于Content ,就是Tab里面的内容,可以
设置View的id :
用new Intent 来引入其他Activity的内容:setContent(Intent intent)
package com.zhanglong.music;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TabHost;
public class MainActivity extends TabActivity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
Resources res = getResources();
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
intent = new Intent().setClass(this, ListActivity.class);
spec = tabHost.newTabSpec("音乐").setIndicator("音乐",
res.getDrawable(R.drawable.item))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, ArtistsActivity.class);
spec = tabHost.newTabSpec("艺术家").setIndicator("艺术家",
res.getDrawable(R.drawable.artist))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, AlbumsActivity.class);
spec = tabHost.newTabSpec("专辑").setIndicator("专辑",
res.getDrawable(R.drawable.album))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, SongsActivity.class);
spec = tabHost.newTabSpec("最近播放").setIndicator("最近播放",
res.getDrawable(R.drawable.album))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
}
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。