android tabHost布局之一 继承TabActivity并以activity布局
来源:互联网 发布:js实现加减乘除 编辑:程序博客网 时间:2024/04/28 03:50
先查看下最终效果图:
再看下代码结构:
其中black.gif顾名思义就是一个黑背景图片,grey.gif就是一张灰色的背景图片
然后直接上代码:
ArtistActivity.java
MusicActivity.java
SportActivity.java
ArtistActivity.java MusicActivity.java SportActivity.java三个activity是用做标签内容的activity。即当用户点击相应的标签时,下边会显示相应的activity内容。
ic_tab.xml代码
这里一定要注意ic_tab.xml文件的位置,是放在res/drawable文件夹下的。有些朋友说怎么没有这个文件夹啊,实际上大家看到了我将它放在了drawable-hdpi中了,实际上drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹都属于drawable文件夹的哦。该文件它规定了,当标签获得焦点和失去焦点时,标签上显示什么图片。
例如本例中,就是当state_selected="true"(当标签被选中时),显示@drawable/grey指定的资源图片。当未被选中时,显示@drawable/black指定的资源图片。
tagView.java代码:
AndroidManifest.xml
一切都弄好之后,运行,就出现了最终效果。这里要注意,main.xml是一直都没有用到的哦。
废话连篇:
其实,利用TabHost布局与ListView有很多相似之处,系统也同样为他们提供了帮助类,TabHost-TabActivity ListView-ListActivity .当我们的activity集成了这些类之后,一般在里面我们只需要整理绑定下数据就可以。
再次声明一下,代码中是存在setContentView方法的调用的,只不过因为我们集成了TabActivity,TabActivity的getTabHost方法中已经进行了实现而已。对用户隐藏了,并不代表没有。
项目中为了简单易懂,我们只是在每个标签的内容部分添加了一个文本。实际上,我们完全可以在里面添加图片、视频等等。只要在相应的activity中实现就行了。我们可以看到,这种方式其实有很好的分层结构,activity与activity之间没有太多耦合。
可能一直到现在,有些朋友对TabActivity和ListActivity这种实现都特别的别扭。我这里就简单的说一下,实际上这其实是一种设计模式,模板模式。系统给你提供了一个实现了大部分内容的模板,然后你通过继承模板,去做修改(例如模板中有一个方法没有任何实现,你重写该方法并对其进行具体实现),让其符合你的要求。这就是模板模式的原理。
- android tabHost布局之一 继承TabActivity并以activity布局
- android tabHost布局之一 继承TabActivity并以activity布局
- android tabHost布局之一 继承TabActivity并以activity布局
- android tabHost布局之一 继承TabActivity并以布局文件进行布局
- android tabHost布局之一 不继承TabActivity并以布局文件进行布局
- android tabHost布局之一 继承TabActivity并以布局文件进行布局
- android tabHost布局之一 不继承TabActivity并以布局文件进行布局
- android tabHost布局之一 继承TabActivity并以布局文件进行布局
- android tabHost布局之一 不继承TabActivity并以布局文件进行布局
- 如何不继承TabActivity实现tabhost布局
- 使用TabHost布局不继承TabActivity
- android 标签组件 TabHost 让一个Activity继承TabActivity类
- 安卓控件使用系列29:TabHost卡片的使用方法2不继承TabActivity、TabHost控件、一个布局文件
- 安卓控件使用系列30:TabHost卡片的使用方法3不继承TabActivity、TabHost控件、多个布局文件
- Android--学习记录--TabHost(非继承TabActivity)
- Android TabHost布局
- Android之TabHost布局
- Android之TabHost布局
- javascript 使用命名空间编程2
- 活动目录环境下Apache单点登录(SSO)的实现
- Java编程: 类的反射(第一节)
- Oracle配置安装
- Linux防火墙设置
- android tabHost布局之一 继承TabActivity并以activity布局
- Moses运行过程记录---Moses结果和评测(四)
- flex的获取远程服务器端返回数据并在页面展示
- Linux下和进程概念和查看
- C# 操作.eml文件
- 监控进程程序_能重新启动程序
- sql 删除重复行怎么写
- 关于GUI设计的Directx灵活顶点格式
- ASCII表