Android学习笔记之Tab

6 篇文章 0 订阅
1 篇文章 0 订阅

今儿任务本是做需求分析,不过一早整完了。留下晚上大片空白时间,干嘛?当然看Android~

       原来学的时候,觉得Tab这块学的不是很好,不是很理解,有死记硬背的嫌疑。所以,今晚上就花了些时间看看GoogleDeveloper Guide。

话说,工欲善其事必先利其器;第一步。。。,嘿嘿,先美美的眯一会儿,今儿确实累了。人累了就是睡的香,《国际歌》吼得嘶声裂肺额还是一睁眼就二十分中过去了。

好,不扯了,复习Tab。


俗话说(又是俗话说),凡事预则立不预则废。学习也是这样。学这个东东总是要有个思路的。额觉得可以这样看:参照Google 开Tutorials,首先弄清楚展现出Tab效果需要什么类,什么配置,什么资源(关于Tab是什么可以google一下),然后看看这些类之间都有什么关系,是包含是并列?然后再看这几个类或配置文件是怎么样相互联系的,哪个类是程序入口哪个类调用了资源,哪个类负责显示了什么效果。

按照这个思路,来看下Android SDK Docs中hello-tabwidget项目。首先粗略看了遍,额,需要一个ArtistActivity类,AlbumsActivity,SongsActivity,TabSpec,TabHost,几个图标,标识这几个图标的资源文件ic_tab_artists.xml文件,main.xml,HelloTabWidget类,还需要修改下Android Manifest.xml文件。

再看各个文件和类之间都有嘛关系。看HelloTabWidget.java,这是程序入口,里面写了一tuo代码。里面有注释,说:

// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, ArtistsActivity.class);

我就不翻译了,这样,就可以进入Tab的Activity了,也就是把当前类和ArtistActivity.java 类连接起来了。

// Initialize a TabSpec for each tab and add it to the TabHost
    spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                      res.getDrawable(R.drawable.ic_tab_artists))
                  .setContent(intent);


这一坨代码通过TabHost实例了一个TabpSpec,并设置了TabSpec的名字,图片等,还将包含当前类(HelloTabWidget)和ArtistActivity关系的intent设置好给了spec,这样TabSpec就知道显示我的时候,我该显示的是名字图片和ArtistActivity。


 tabHost.addTab(spec);
然后把TabSpec加入了TabHost。

那TabWidget是什么用呢?该Tutorial也说了,“The TabHost requires that a TabWidget and a FrameLayout both live somewhere within it.  The FrameLayout is where the content for each tab goes, which is empty now because the TabHost will automatically embed eachActivity within it.

也就是TabHost 需要一个TabWidget和一个FrameLayout来显示TabHost中的东东,并且会自动将自己包含过来的ArtistActivity什么的放在FrameLayout中显示。



好吧,最后还要修改下Android Manifest,把ArtistActivity几个Activity加入进去就得了。

然后,右键,你知道该怎么做的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值