- 浏览: 64214 次
- 性别:
- 来自: 湖南
最新评论
-
Neacy_Zz:
有些Android也可以显示的出来。
Android 将一张CMYK模式的图片转换成RGB模式的图片 -
hold_on:
AsyncTask 2.3 和 4.0稍有不同
Android从零开始(十五)
知识点:TabHost
效果图:
工程目录结构:
步骤一、编写首页(核心代码如下):
步骤二、编写每个标签要显示的页面
步骤三、主Activity代码编写:
步骤四、其他Activity的编写:
步骤五、注册Activity
源码下载请点这里:
效果图:
工程目录结构:
步骤一、编写首页(核心代码如下):
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:id="@android:id/tabhost"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <HorizontalScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="none" > <TabWidget android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@android:id/tabs" ></TabWidget> </HorizontalScrollView> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@android:id/tabcontent" ></FrameLayout> </LinearLayout> </TabHost>
步骤二、编写每个标签要显示的页面
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="lab1" android:textSize="40sp" /> </LinearLayout>
步骤三、主Activity代码编写:
package com.veryedu.tabhost; import android.os.Bundle; import android.app.Activity; import android.app.TabActivity; import android.content.Intent; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.Menu; import android.view.MotionEvent; import android.widget.TabHost; import android.widget.TabHost.TabSpec; import android.widget.TabWidget; public class MainActivity extends TabActivity implements OnGestureListener { GestureDetector gestureDetector; static TabHost tabHost; static int index = 0; int count; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tabHost = getTabHost(); // 添加选项卡的标题和内容 TabSpec spec1 = tabHost.newTabSpec("lab1"); spec1.setIndicator("选项卡一"); spec1.setContent(new Intent(this, Tab1Activity.class)); tabHost.addTab(spec1); TabSpec spec2 = tabHost.newTabSpec("lab2"); spec2.setIndicator("选项卡二"); spec2.setContent(new Intent(this, Tab2Activity.class)); tabHost.addTab(spec2); TabSpec spec3 = tabHost.newTabSpec("lab3"); spec3.setIndicator("选项卡三"); spec3.setContent(new Intent(this, Tab3Activity.class)); tabHost.addTab(spec3); TabSpec spec4 = tabHost.newTabSpec("lab4"); spec4.setIndicator("选项卡四"); spec4.setContent(new Intent(this, Tab4Activity.class)); tabHost.addTab(spec4); TabSpec spec5 = tabHost.newTabSpec("lab5"); spec5.setIndicator("选项卡五"); spec5.setContent(new Intent(this, Tab5Activity.class)); tabHost.addTab(spec5); TabSpec spec6 = tabHost.newTabSpec("lab6"); spec6.setIndicator("选项卡六"); spec6.setContent(new Intent(this, Tab6Activity.class)); tabHost.addTab(spec6); //获取控件数量 TabWidget tabWidget=(TabWidget)findViewById(android.R.id.tabs); count=tabWidget.getChildCount(); gestureDetector=new GestureDetector(this); } @Override public boolean onTouchEvent(MotionEvent event) { gestureDetector.onTouchEvent(event); return super.onTouchEvent(event); } @Override public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if(e1.getX()>e2.getX()){ //向左滑动,选项卡前进到下一个 if(index<count){ tabHost.setCurrentTab(++index); } }else if(e1.getX()<e2.getX()){ //向右滑动,选项卡后退到前一个 if(index>0){ tabHost.setCurrentTab(--index); } } return false; } @Override public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } }
步骤四、其他Activity的编写:
package com.veryedu.tabhost; import android.app.Activity; import android.os.Bundle; public class Tab1Activity extends Activity { @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); MainActivity.index=0; } @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.lab1); } }
步骤五、注册Activity
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.veryedu.tabhost" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.veryedu.tabhost.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=".Tab1Activity"></activity> <activity android:name=".Tab2Activity"></activity> <activity android:name=".Tab3Activity"></activity> <activity android:name=".Tab4Activity"></activity> <activity android:name=".Tab5Activity"></activity> <activity android:name=".Tab6Activity"></activity> </application> </manifest>
源码下载请点这里:
发表评论
-
Android自定义控件--3(刷新动画)
2014-02-26 11:14 990一个乐动力的刷新动画 package com.example. ... -
Android自定义控件--2(数字签名)
2014-02-26 11:08 985客户信息交互用到的一个数字签名,保存的是bmp图片(我那会在P ... -
Android自定义控件--1(TextView跑马灯效果)
2014-02-26 10:57 1597N久没有跟新了,最近 ... -
Android 将一张CMYK模式的图片转换成RGB模式的图片
2013-06-25 17:32 2322Android系统是不能够显示打印模式(CMYK)的图片的。所 ... -
Android TextToSpeech语音播放文本
2013-06-25 17:17 1919步骤一、初始化 package com.example.spe ... -
Android连接电脑eclipse无法识别=解决办法
2013-05-23 09:25 22431、方法一:“我的电脑”-->“属性”-->“设备 ... -
Android BaseAdapter如何获得每一项并添加按钮事件
2013-05-21 15:11 3778package com.hangcheng; impor ... -
Android的VideoView如何循环播放
2013-05-15 14:01 4866package com.hangcheng; impor ... -
Android如何获取asset目录下所有文件的路径
2013-05-15 09:48 7805package com.hangcheng.util; ... -
Android--WebView+HTML+Javascript
2013-04-09 17:17 1787知识点:android的WebView控件加载HTML并通过j ... -
VideoView重绘
2013-04-01 23:39 1397知识点:Android中的VideoView控件默认情况下是不 ... -
Android从零开始—多媒体(二十二)
2013-03-06 21:43 1071知识点:音乐播放、录音、播放视频、录像、拍照 步骤一、主界面 ... -
Android从零开始—监听广播BroadcastReceiver(二十一)
2013-03-05 10:17 2136知识点:电话拒接+短息 ... -
Android从零开始—电话+短信(二十)
2013-03-05 10:03 1171知识点:系统电话号码和短信的获取(最好用真机,模拟器上木有电话 ... -
Android从零开始(十九)
2013-02-27 10:35 1029知识点:back键的处理(有时候我们可能会不小心按了回退键,但 ... -
Android从零开始(十八)
2013-02-27 10:24 906知识点:菜单(menu) 步骤一、创建菜单项(核心代码如下) ... -
Android从零开始(十七)
2013-02-27 10:09 1036知识点:抽屉(SlidingDrawer) 先看一下抽屉打开 ... -
Android从零开始(十六)
2013-02-26 19:43 916知识点:闪屏(通常在 ... -
Android从零开始(十五)
2013-02-26 18:32 1166知识点:异步任务AsyncTa ... -
Android从零开始(十四)
2013-02-26 17:16 891知识点:TabHost选项卡之 ...
相关推荐
【Android从零开始(十九)】这一篇博客主要聚焦于Android开发的学习进程,从零基础开始逐步深入。作为Android开发者,理解源码和技术工具的运用是至关重要的,这有助于提升开发效率和解决问题的能力。在本篇文章中...
《Android开发从零开始视频教程》下载地址,常期可用! 文件大小:2.3GB 文件格式:MP4 视频内容: [Android开发从零开始].1.Android开发环境搭建.mp4 30.6MB [Android开发从零开始].2.模拟器的使用.mp4 20.8MB ...
【Android从零开始(十)】这一篇博客主要聚焦于Android开发中的数据绑定和适配器的使用,尤其是`SimpleAdapter`。在Android应用开发中,适配器扮演着至关重要的角色,它允许我们将数据集与UI组件,如ListView、...
从零开始Android编程:搭建开发环境与初探游戏开发 标题和描述中提及的“从零开始Android编程”旨在引导初学者踏入Android开发的世界,通过实际项目加深理解,特别是聚焦于游戏开发领域。该课程或文章不仅覆盖了...
从零开始学Android 基于经典的坦克大战游戏,学习中不失乐趣。通过整个游戏开发过程从零开始学习Android开发。本文将带领读者从零开始学习Android开发,通过复刻坦克大战游戏,了解2D游戏编程的简单思路。 知识点...
这篇详细的教程将带你从零开始学习Android游戏编程,并提供源码供你参考和实践。我们将会深入探讨以下几个关键知识点: 1. **Android基础知识**:首先,你需要熟悉Android开发环境,包括安装Android Studio、设置...
"android从零开始 若水 源代码"是一套全面的学习资源,旨在帮助初学者和有经验的开发者深入理解Android系统的运作机制以及如何在实践中应用这些知识。43个课时的内容涵盖了Android开发的各个方面,确保了学习者能...
《从零开始学编程从零开始学Android》是一本针对Android编程初学者的教程,由曾宏远和崔荔蒙两位作者编著,2012年出版。这本书旨在为那些对安卓手机编程开发充满兴趣的读者提供一个系统且全面的学习路径。在深入探讨...
### 从零开始学Android——全面解析入门指南 #### 一、引言 随着移动互联网技术的迅猛发展,Android作为全球最受欢迎的移动操作系统之一,吸引了众多开发者投身于其应用程序的开发之中。对于初学者而言,《从零...
在Android开发领域,从零开始的学习过程是许多新手开发者必经之路。这个"Android开发从零开始课件源代码"的资源,旨在提供一个全面、系统的学习路径,帮助初学者逐步掌握Android应用开发的各项技能。下面我们将深入...
Android开发从零开始源码,很好的资源,对初学者很有用!
本书《从零开始Android游戏编程(第二版)》是为那些想要踏入这个领域的初学者精心编写的。它将引导你逐步了解并掌握Android游戏开发的基本技术和流程,助你实现自己的游戏梦想。 首先,Android游戏编程的基础是...
这篇资料《Android游戏编程从零开始》将引导初学者逐步踏入这个领域。以下是一些关键的知识点,这些知识点将构成你学习Android游戏开发的基础: 1. **Android基础知识**:首先,你需要了解Android操作系统的基本...
在Android开发领域,从零开始学习意味着要掌握一系列的基础概念和技术。这个名为“最新Android开发从零开始源码”的资源提供了宝贵的实践材料,适合初学者和有经验的开发者用来巩固基础或探索新的开发技巧。这份源码...
《Android从零开始》这份文档全面且深入地介绍了Android开发的基础知识,对于初学者来说,是一份极佳的学习资源。Android作为全球最流行的移动操作系统,它的应用开发领域广阔,涉及了从用户界面设计到系统级别的...
从零开始学Android编程