Tab选项卡是一个非常方便的组件

今天查询资料知道了Android多个Activity选项卡实现

创建多个Activity比如叫FirstActivity,SecondActivity,ThirdActivity

由于是简单实现, FirstActivity,SecondActivity,ThirdActivity三者代码基本相同。

下面以FirstActivity为例

package com.example.androidtabselector;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

public class FirstActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TextView textview = new TextView(this);

textview.setText("这是Tab1");

setContentView(textview);

}

}

修改main.xml文件代码

android:id="@android:id/tabhost"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

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

android:layout_width="fill_parent"

android:layout_height="wrap_content" />

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:padding="5dp" />

之后新建一个TabDemoActivity.java文件,详细代码如下:

package com.example.androidtabselector;

import android.app.TabActivity;

import android.content.Intent;

import android.content.res.Resources;

import android.os.Bundle;

import android.widget.TabHost;

import android.widget.TabHost.TabSpec;

public class TabDemoActivity extends TabActivity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);//这里使用了上面创建的xml文件(Tab页面的布局)

Resources res = getResources(); // Resource object to get Drawables

TabHost tabHost = getTabHost(); // The activity TabHost

TabSpec spec;

Intent intent; // Reusable Intent for each tab

//第一个Tab

intent = new Intent(this,FirstActivity.class);

//新建一个Intent用作Tab1显示的内容

spec = tabHost.newTabSpec("tab1")//新建一个 Tab

.setIndicator("Tab1", res.getDrawable(android.R.drawable.ic_menu_camera))//设置名称以及图标 25.

.setContent(intent);//设置显示的intent,这里的参数也可以是R.id.xxx

tabHost.addTab(spec);//添加进tabHost

//第二个Tab 29.

intent = new Intent(this,SecondActivity.class);//第二个Intent用作Tab1显示的内容

spec = tabHost.newTabSpec("tab2")//新建一个 Tab

.setIndicator("Tab2", res.getDrawable(android.R.drawable.ic_menu_edit))//设置名称以及图标

.setContent(intent);//设置显示的intent,这里的参数也可以是R.id.xxx

tabHost.addTab(spec);//添加进tabHost

//第三个Tab

intent = new Intent(this,ThirdActivity.class);//第二个Intent用作Tab1显示的内容

spec = tabHost.newTabSpec("tab2")//新建一个 Tab

.setIndicator("Tab3", res.getDrawable(android.R.drawable.ic_menu_help))//设置名称以及图标

.setContent(intent);//设置显示的intent,这里的参数也可以是R.id.xxx

tabHost.addTab(spec);//添加进tabHost

tabHost.setCurrentTab(0);//设置当前的选项卡,这里为Tab1

}

}

最后修改AndroidManifest.xml文件,详细代码如下所示:

package="com.example.androidtabselector"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="8"

android:targetSdkVersion="16" />

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name=".TabDemoActivity"

android:label="@string/app_name" >

android:name=".FirstActivity"

android:label="@string/app_name" >

android:name=".SecondActivity"

android:label="@string/app_name" >

android:name=".ThirdActivity"

android:label="@string/app_name" >

至此就可以实现简单的android选项卡效果

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐