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

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

本篇文章来源于好岸园it技术学习网 (http://www.hopean.com)

原文链接:http://www.hopean.com/devlop/

创建多个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文件代码

<?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        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:orientation="vertical" >               <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"            android:padding="5dp" />       </LinearLayout></TabHost>


之后新建一个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. */ @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//这里使用了上面创建的xml文件(Tab页面的布局)Resources res = getResources(); // Resource object to get DrawablesTabHost tabHost = getTabHost();  // The activity TabHostTabSpec spec;Intent intent;  // Reusable Intent for each tab //第一个Tabintent = 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.xxxtabHost.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.xxxtabHost.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文件,详细代码如下所示:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.androidtabselector"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="16" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" ><!--         <activity --><!--             android:name="com.example.androidtabselector.MainActivity" --><!--             android:label="@string/app_name" > --><!--             <intent-filter> --><!--                 <action android:name="android.intent.action.MAIN" /> --><!--                 <category android:name="android.intent.category.LAUNCHER" /> --><!--             </intent-filter> --><!--         </activity> -->        <activity        android:name=".TabDemoActivity"        android:label="@string/app_name" >                   <intent-filter>                        <action android:name="android.intent.action.MAIN" />                           <category android:name="android.intent.category.LAUNCHER" />                   </intent-filter>        </activity>       <activity        android:name=".FirstActivity"        android:label="@string/app_name" >                    <intent-filter>                            <action android:name="android.intent.action.MAIN" />                           <category android:name="android.intent.category.LAUNCHER" />                  </intent-filter>        </activity>       <activity        android:name=".SecondActivity"        android:label="@string/app_name" >                  <intent-filter>                            <action android:name="android.intent.action.MAIN" />                            <category android:name="android.intent.category.LAUNCHER" />               </intent-filter>    </activity>    <activity        android:name=".ThirdActivity"        android:label="@string/app_name" >                  <intent-filter>                            <action android:name="android.intent.action.MAIN" />                            <category android:name="android.intent.category.LAUNCHER" />               </intent-filter>    </activity>    </application>    </manifest>


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

本篇文章来源于好岸园it技术学习网 (http://www.hopean.com) 原文链接:http://www.hopean.com/devlop/

TabSelectorDemo 源码下载http://www.hopean.com

更多相关文章

  1. 写TextView的Selector了解到的android读取xml文件的几点规则
  2. Android基础知识之Manifest文件的组织结构
  3. android中一些配置文件的参数的意义
  4. Android实现文件上传功能
  5. android Gradle打包修改生成的apk文件名称
  6. Android中遍历文件夹、比较文件类型测试
  7. android百度地图标记点代码
  8. Android存储数据到本地文件
  9. Android 上传文件到XP

随机推荐

  1. Android(安卓)编程下的TraceView 简介及
  2. 友盟三方登录,分享,推送demo
  3. Android(安卓)SDK 22.0.1 引用 android-s
  4. Android(安卓)System Property
  5. 【Android】listview选中行字体变大
  6. Android(安卓)manifest文件中的标签详细
  7. Android中Looper的实现原理
  8. [置顶] Android的monkey测试
  9. Android数据库之SQLite数据库zz
  10. Android(安卓)ApiDemos示例解析(77):Grap