- 浏览: 760943 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (139)
- 玩转Android (48)
- Android创意美工 (0)
- Android杂谈 (23)
- Android实例练习 (2)
- Android ROM研究 (5)
- Android NDK开发指南 (5)
- Android NDK (0)
- Android Tips (3)
- Windows Phone 7 (5)
- iPhone (0)
- HTML5学习室 (0)
- JAVA (9)
- SSH+ibatis (8)
- PHP (0)
- IT生活 (1)
- linux (2)
- C (4)
- C++ (1)
- web 前端 (1)
- 云计算 (0)
- 设计模式 (0)
- C# (2)
- 其他 (1)
- 数据结构 (5)
- Web开发 (10)
- 数据库 (3)
- 搜索引擎 (0)
- Go语言 (0)
最新评论
-
wi100sh:
多谢分享~
玩转Android---UI篇---ImageButton(带图标的按钮) -
zhanghaichang:
好文章的。
高性能web开发技术(一) -
yingang:
引用classes.dex.dex2jar.jar 拖入 j ...
Andorid杂谈---Apk文件的反编译 -
扶摇诺:
讲解的简明易懂,多谢啦!
玩转Android---UI篇---LinearLayout(线性布局) -
a13429921973:
更为详细的图文介绍,可参考这个http://blog.csdn ...
Android ROM研究---CyanogenMod源代码下载及编译
为了创建一个选项卡的UI,你需要使用一个TabHost和一个TabWidget,TabHost必须是布局文件的根节点,它包含了为了显示选项卡的TabWidget和一个用于显示选项内容的FrameLayout
你可以用一或两种方法实现你的选项卡内容:在用一个Activity中用选项卡来在视图之间切换,或者用用选项卡来改变所有的分离的Activity。你根据你的需求来使用你想在程序中的方法,但是如果每个选项卡提供一个独特的用户Activity,那么为每个选项卡实现独立的Activity是有意义的,所有你最好在你的离散群里管理应用程序,要好过使用大量的应用程序和布局文件。
在这个例子中,你可以创建一个为每个单独的Activity创建选项卡来创建一个选项卡UI
1、开始一个新的工程,叫做HelloTabWidget
2、第一,创建三个独立的Activity程序在你的工程中:ArtistsActivity,AlbumsActivity,和SongsActivity,他们每个代表一个单独的选项卡,现在用TextView来没每个程序显示一个简单的信息,比如:
package org.hualang.tabwidget; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class AlbumsActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textview = new TextView(this); textview.setText("This is the Albums tab"); setContentView(textview); } }
package org.hualang.tabwidget; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class SongsActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textview = new TextView(this); textview.setText("This is the Songs tab"); setContentView(textview); } }
package org.hualang.tabwidget; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ArtistsActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textview = new TextView(this); textview.setText("This is the Artists tab"); setContentView(textview); } }
注意这个例子中不需要布局文件,只需要创建一个TextView,并且为文本赋值即可。重复创建三个类似的Activity,并且要在AndroidManifest.xml文件中注册,否则报错
3、你需要为每个选项卡设置一个icon,每个icon,你可以有两个版本,一个是当选项卡被选中的时候,另一个是当选项卡未被选中的时候。一般设计来说,建议当被选中的时候用灰色,的那个未被选中的时候用白色,比如
你可以拷贝这两张图片来做实验用
现在创建一个状态图片列表来制定每个选项卡不同状态的时候所指定的图片
①把图排尿保存在res/drawable/目录下
②在res/drawable/目录下创建一个名为ic_tab_artists.xml文件,并且插入如下信息
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- When selected,use grey --> <item android:drawable="@drawable/ic_tab_artists_grey" android:state_selected="true"/> <!-- When not selected ,use white --> <item android:drawable="@drawable/ic_tab_artists_white"/> </selector>
上面这个文件,当选项卡的状态改变的时候,选项卡就会自动的在两种已经定义的图片之间切换
4、打开res/layout/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:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp"> <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>
这个布局文件将显示选项卡兵器提供每个Activity之间的导航
TabHost要求一个TabWidget和一个FrameLayout布局,为了使TabWidget和FrameLayout的位置处于垂直方向,需要一个LinearLayout,FrameLayout是每个选项卡内容的地方,之所以那里的内容是空的是因为在TahHost中将自动为每个Activity嵌入
注意,TabWidget和FrameLayout元素的ID标签和tabcontent元素,这些名称必须使用,因为TahHost检索他们的引用,它恰好期望的是这些名字
6、编写HelloTabWidget。继承TabWidget
package org.hualang.tabwidget; import android.app.TabActivity; import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; import android.widget.TabHost; public class HelloTabWidget extends TabActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Resources res = getResources(); // Resource object to get Drawables TabHost tabHost = getTabHost(); // The activity TabHost TabHost.TabSpec spec; // Resusable TabSpec for each tab Intent intent; // Reusable Intent for each tab // Create an Intent to launch an Activity for the tab (to be reused) intent = new Intent().setClass(this, ArtistsActivity.class); // Initialize a TabSpec for each tab and add it to the TabHost spec = tabHost.newTabSpec("artists").setIndicator("Artists", res.getDrawable(R.drawable.ic_tab_drawable)) .setContent(intent); tabHost.addTab(spec); // Do the same for the other tabs intent = new Intent().setClass(this, AlbumsActivity.class); spec = tabHost.newTabSpec("albums").setIndicator("Albums", res.getDrawable(R.drawable.ic_tab_drawable)) .setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, SongsActivity.class); spec = tabHost.newTabSpec("songs").setIndicator("Songs", res.getDrawable(R.drawable.ic_tab_drawable)) .setContent(intent); tabHost.addTab(spec); tabHost.setCurrentTab(2); } }
运行结果:
评论
发表评论
-
玩转Android---2D图形及动画---动画分析(Tween详细分析)
2011-09-26 21:59 2628在Android系统中提供了两种动画实现方式:一种是Tween ... -
玩转Android---2D图形及动画---图片处理
2011-09-26 13:08 1781在Android中很多地方都使 ... -
玩转Android--UI篇--PreferenceActivity(开启wifi和音乐等)
2011-09-01 11:57 4851本测试主要是为了测试PreferenceActivity的使用 ... -
玩转Android---2D图形及动画---Gif动画
2011-08-05 09:36 2220由于Gif本身就是动画,所以如果能够直接使用的话,会省去很多的 ... -
玩转Android---2D图形及动画---Frame动画
2011-08-01 20:53 2086Frame动画其实就是逐帧动画,用法也比Tween动画简单,只 ... -
玩转Android---2D图形及动画---Tween动画
2011-07-31 22:53 2180Android平台提供了两类动画,分别是Tween动画,和Fr ... -
玩转Android---2D图形及动画---View类使用
2011-07-30 23:39 2800由于游戏界面是由大量美工资源图片构成的,所以,在设计游戏界面的 ... -
玩转Android--组件篇---Handler的使用
2011-07-30 14:01 5359public class Handler ... -
玩转Android---UI篇---ZoomControls放大缩小图片
2011-07-27 13:03 7249ZoomControls控件是一个可以缩放但控件,效果如下图 ... -
玩转Android---组件篇---TextSwitcher
2011-07-25 09:21 2193还记得有一次淘宝的电话面试的时候问了我一个关于Android的 ... -
玩转Android---组件篇---AnalogClock,DigitalClock
2011-07-10 19:28 2941首先要说的是,这两个控件并不是经常的使用,但是如果程序需要的话 ... -
玩转Android---组件篇---SeekBar,RatingBar,Chronometer
2011-07-10 19:12 2856今天补充三个组件的使用,避免日后忘记。它们分别是 SeekB ... -
玩转Android---组件篇---Handler的使用(2)
2011-05-28 17:15 2821对于Handler来说,它和与它调用它的Activity是出于 ... -
玩转Android---组件篇---Handler的使用(1)
2011-05-28 15:37 2173在android中,有很多功能是不能放在onCreate或者o ... -
玩转Android---事件监听篇---第2篇
2011-05-27 10:30 5251事件监听篇---第二篇 下面是各种常用控件的事件监听的 ... -
玩转Android---事件监听篇---第1篇
2011-05-26 21:29 9933事件就是用户与UI界面的交互时所触发的操作。比如点击某一个按钮 ... -
玩转Android---组件篇---数据存储之SQLite
2011-04-17 17:05 8484Android中通过SQLite数据库引擎来实现结构化数据存储 ... -
玩转Android---组件篇---数据存储之File
2011-04-17 11:07 2047我们可以将一些数据直接以文件的形式保存在设备中。例如,一些文本 ... -
玩转Andorid---组件篇---数据存储之preference
2011-04-14 21:58 2303程序是数据的输入、处 ... -
玩转Android---组件篇---Broadcast Receiver(广播接收器)
2011-04-14 19:24 29347Braodcast Receiver顾名思义 ...
相关推荐
•Android---UI篇---Tab Layout(选项卡布局) • •Andorid---UI篇---TableLayout(表格布局) • •Android---UI篇---RelativeLayout(相对布局) • •Android---UI篇---GridView(网格布局) • •Android---UI篇-...
本篇文章将详细介绍如何在Android中实现这样的功能,以创建一个包含多个选项卡的切换效果。 首先,我们要理解Android中的选项卡切换通常是如何实现的。在Android中,我们可以使用`ViewPager`配合`TabLayout`或者...
它通常包含3到5个选项卡,每个选项卡对应一个主要的功能区域。用户点击选项卡时,应用会显示相应的页面内容。在Android中,我们可以使用`BottomNavigationView`组件来实现这一功能。 1. **使用BottomNavigationView...
这个项目名为"Material-Design-Tab-Layout-with-View-Pager-and-Fragments-Example",它展示了如何在Android应用中实现一个符合Material Design规范的选项卡布局,同时结合了View Pager和Fragments来实现动态内容...
在iOS应用开发中,选项卡(Tab Bar)是常见的用户界面元素,用于提供多视图间的导航。本教程重点讲解如何自定义`UITabBar`,以实现个性化的设计和交互效果。`UITabBar`是iOS SDK中的一个控件,通常位于应用底部,...
本项目"android-tab-fragments"重点探讨了如何在`ActionBar`中使用选项卡来切换不同的`Fragment`,这是一种组织应用内容的有效方式,特别是在屏幕空间有限的移动设备上。 `Fragment`是Android中的一个可重用的UI...
在Android应用开发中,"仿qqTab左右切换选项卡"是一种常见的用户界面设计,它能够为用户提供直观且易于导航的体验。QQ作为中国最流行的即时通讯软件,其应用中的Tab栏设计深受用户喜爱,因此很多开发者尝试在自己的...
在Android应用开发中,选项卡(Tab)是一个常见的UI组件,用于展示多个相互关联的视图或内容。它可以帮助用户在不同的功能之间轻松切换,提高应用程序的可用性和用户体验。本教程将详细介绍如何在Android中快速实现...
在VB(Visual Basic)编程中,创建仿360安全卫士Tab选项卡是一项常见的界面设计任务,旨在提供用户友好的多页面体验。这个主题主要涉及控件的使用、事件处理以及用户界面(UI)的设计。以下是关于VB中实现Tab选项卡...
1. **选项卡布局(Tab Layout)** - Android中的选项卡布局通常通过`TabLayout`组件来实现,它是谷歌Material Design设计系统的一部分,可以与`ViewPager`配合使用,实现滑动切换页面的效果。 - `TabLayout`允许...
在本项目“(0029)-iOS/iPhone/iPad/iPod源代码-选项卡(Tab Bar)-Raised Center Tab Bar”中,我们关注的是一个自定义的`UITabBar`实现,它具有一个突出中心Tab的独特设计。这种设计风格在Instagram和Path等...
在Android平台上,实现切换选项卡的功能是构建用户界面(UI)的一个常见需求,尤其是在开发复杂的移动应用时。这种功能能够帮助用户在多个视图或功能之间轻松导航,提高用户体验。在本篇中,我们将深入探讨如何在...
FragmentTab选项卡是Android界面设计中常见的一种布局方式,通常用于创建一个多页面、可切换的用户界面。FragmentTab结合了Fragment和TabHost的概念,使用户可以在不同的Tab之间轻松切换,每个Tab下展示不同的...
在Android开发中,创建一个可左右滑动切换的Tab布局是一项常见的需求,这通常涉及到`ViewPager`和`TabLayout`的使用。`ViewPager`允许用户通过左右滑动来浏览多个页面,而`TabLayout`则提供了在顶部展示标签页的功能...
通过调用`$.tabs`方法并传入相应的选项,可以实现动态添加、删除和切换选项卡。 再来看`EasyUI tree` 组件,它主要用于展示层次结构的数据,如目录结构、组织架构等。EasyUI的tree组件支持多种操作,如展开/折叠...
本篇将深入探讨如何利用Activity和Fragment来实现一个主界面的选项卡功能。 在Android中,选项卡通常用于在有限的空间内展示多个相互关联的视图。我们可以使用TabHost、ViewPager、TabLayout(搭配ViewPager)等...
在iOS应用开发中,选项卡(Tab Bar)是一种常见的用户界面元素,用于提供多视图间的导航。在本教程中,我们将深入探讨如何实现类似TweetBot应用中的自定义Tab Bar,包括文字、颜色、图片的定制,以及选中状态下的...
在Android应用开发中,创建一个具有可滑动选项卡的用户界面是常见的需求,比如百度外卖和美团登录页面。TabLayout是Google推出的Android Design Support Library的一部分,它提供了一种优雅的方式来实现这种效果。本...
这篇教程《Android新手入门2016(13)--FragmentTabHost实现选项卡和菜单》将引导我们如何在实践中运用这一技术。 首先,FragmentTabHost是TabHost与Fragment的结合体,它解决了在Android 3.0及以上版本中TabHost...