android tab和listiew

          web2.0时代,twitter,follow5,新浪微博等相继火了起来,android在美国市场份额达到了13%,android market

应用程序增长也越来越快,其他山寨机的market就更多了,这几个月一直在做一个微博客户端,参考其他的android微博

客户端,发现有 的用webiew,做出的画面相当漂亮, 大多数的还是用android内部的控件,于是我就参照了eoe*兽*兽的

tab,自己小试牛刀,帖个demo。

公司开发的博客

 

鄙人编程习惯先做xml,xml定义如下,一个frameLayout,里面嵌套了四个LinearLayout,如下:

布局文件可以自己根据需要调整,这里我就不多说了

 

好了,布局完毕,添加java代码,这里我要用网络上的资源,用listview显示出来,这里我首先想到了follow5,follow5

是国内不错的一个微博,api开放使用,不过要先取得一个apikey才可以进行开发,具体请参考

http://www.follow5.com/f5/jsp/other/api/api.jsp

获得apikey之后,为了简单起见,先使用follow5的最新分享,不需要用户名和密码 api如下:

http://api.follow5.com/api/statuses/public_timeline.xml? api_key=****

这样,你就可以获得一大串xml文件,这里你可以用xml解析器来解析,解析完成后,把获得数据放到arraylist里面备用,对于xml解析, 大家一定不陌生,在android里面一般可以使用sax或者xmlpullparser来解析,用dom估计不太现实,太占资源了,对于sax和 xmlpullparser解析,可以看以下介绍:

http://www.javaeye.com/topic/41564

http://www.javaeye.com/topic/401377

高手阿,自己学习学习......

 

好了,关键部分来了,我们要把数据放入listiew里面了,譬如我们获得的数据放在

ArrayList<Map<String, Object>> data里面,listview显示内容,listview内部布局自己定义好了,

代码如下:

 

 

 然后对放入的数据进行格式操作:

 其中MyImageBinder重写ViewBinder,对ArrayList里面的文字和图片进行操作,具体细节见代码

 

代码下载地址:

源代码

 

国内微博起步晚,但是发展势头强劲,虽然饭否等其他的微博由于一些原因没有开服,但新浪、

follow5依然做得有声有色,希望国内微博提供统一的api,这样即方便了开发者,也让公司的产品

更容易推广。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Tab 可以使用以下两种样式: 1. 顶部 Tab 样式: 在布局文件中使用 TabLayout 控件,然后在代码中为 TabLayout 添加 Tab,可以设置 Tab 的标题、图标等属性。可以使用 setCustomView() 方法自定义 Tab 的布局。 示例代码: ```xml <com.google.android.material.tabs.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="fill" app:tabMode="fixed" /> ``` ```java TabLayout tabLayout = findViewById(R.id.tab_layout); tabLayout.addTab(tabLayout.newTab().setText("Tab1")); tabLayout.addTab(tabLayout.newTab().setText("Tab2")); tabLayout.addTab(tabLayout.newTab().setText("Tab3")); ``` 效果图: ![tab_layout](https://img-blog.csdnimg.cn/20211201160053611.png) 2. 底部 Tab 样式: 可以使用 BottomNavigationView 控件实现底部 Tab 样式,类似于微信、QQ 等应用的底部导航栏。 示例代码: ```xml <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_navigation_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:menu="@menu/bottom_navigation_menu" /> ``` ```java BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation_view); bottomNavigationView.setOnNavigationItemSelectedListener(item -> { switch (item.getItemId()) { case R.id.menu_home: // 切换到首页 break; case R.id.menu_message: // 切换到消息页面 break; case R.id.menu_mine: // 切换到个人中心页面 break; } return true; }); ``` 效果图: ![bottom_navigation_view](https://img-blog.csdnimg.cn/20211201160230467.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值