`
helloandroid
  • 浏览: 275757 次
  • 性别: Icon_minigender_1
  • 来自: 成都
博客专栏
107f8db3-b009-3b79-938a-dafddb49ea79
Android腾讯微博客户...
浏览量:95702
社区版块
存档分类
最新评论

Android腾讯微博客户端开发一:在下方的Tab的实现

阅读更多
javaEye处女贴





下面的是res下drawable文件夹下的一个selector文件,作用主要是当每一个tab选项被点击,获得焦点以及被选中的时候背景都会发生变化
<?xml version="1.0" encoding="UTF-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_timeline_normal" /></span>
    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_timeline_active" /></span>
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_timeline_normal" /></span>
    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_timeline_active" /></span>
    <item android:state_pressed="true" android:drawable="@drawable/tab_timeline_normal" /></span>
</selector>

注意一定要继承TabActivity
public class MainActivity extends TabActivity {
	private TabHost tabHost;
	private RadioGroup mainbtGroup;
	private static final String HOME = "主页";
	private static final String REFER = "提及";
	private static final String SECRET = "私信";
	private static final String SEARCH = "搜索";
	private static final String ATTENTIION = "关注";
	

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tabhost);//设置选项卡使用的布局文件
		
		tabHost = this.getTabHost();

		View view1 = View.inflate(MainActivity.this, R.layout.tab, null);
		((ImageView) view1.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.tab_timeline_selector);//设置每一个tab的图标
		((TextView) view1.findViewById(R.id.tab_textview_title)).setText(HOME);

		TabHost.TabSpec spec1 = tabHost.newTabSpec(HOME)
				.setIndicator(view1)
				.setContent(new Intent(this, HomeTimeLineActivity.class));
		tabHost.addTab(spec1);
		
		View view2 = View.inflate(MainActivity.this, R.layout.tab, null);
		((ImageView) view2.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.tab_atme_selector);
		((TextView) view2.findViewById(R.id.tab_textview_title)).setText(REFER);

		TabHost.TabSpec spec2 = tabHost.newTabSpec(REFER)
				.setIndicator(view2)
				.setContent(new Intent(this, ReferActivity.class));
		tabHost.addTab(spec2);
		
		View view3 = View.inflate(MainActivity.this, R.layout.tab, null);
		((ImageView) view3.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.tab_message_selector);
		((TextView) view3.findViewById(R.id.tab_textview_title)).setText(SECRET);

		TabHost.TabSpec spec3 = tabHost.newTabSpec(SECRET)
				.setIndicator(view3)
				.setContent(new Intent(this, MessageActivity.class));
		tabHost.addTab(spec3);
		
		View view4 = View.inflate(MainActivity.this, R.layout.tab, null);
		((ImageView) view4.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.tab_explore_selector);
		((TextView) view4.findViewById(R.id.tab_textview_title)).setText(SEARCH);

		TabHost.TabSpec spec4 = tabHost.newTabSpec(SEARCH)
				.setIndicator(view4)
				.setContent(new Intent(this, SearchActivity.class));
		tabHost.addTab(spec4);
		
		View view5 = View.inflate(MainActivity.this, R.layout.tab, null);
		((ImageView) view5.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.tab_focus_selector);
		((TextView) view5.findViewById(R.id.tab_textview_title)).setText(ATTENTIION);

		TabHost.TabSpec spec5 = tabHost.newTabSpec(ATTENTIION)
				.setIndicator(view5)
				.setContent(new Intent(this, AttentionActivity.class));
		tabHost.addTab(spec5);
	}

下面的就是tabhost布局文件关键是tabhost,tabcontent和tabs这三个id一定要正确
<?xml version="1.0" encoding="UTF-8"?>
<TabHost android:id="@android:id/tabhost"  android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
	<RelativeLayout android:orientation="vertical"
		android:layout_width="fill_parent" android:layout_height="fill_parent">
		<FrameLayout android:id="@android:id/tabcontent"
			android:layout_width="fill_parent" android:layout_height="fill_parent" />
		<TabWidget android:id="@android:id/tabs" <span style="background-color: #ff0000;">android:background="@drawable/tab_bkg"</span> android:fadingEdge="none"
			android:fadingEdgeLength="0.0px" android:layout_width="fill_parent"
			android:layout_height="wrap_content"
			android:layout_alignParentBottom="true" />
	</RelativeLayout>
</TabHost>

android:layout_alignParentBottom="true" 把tab的五个按钮挨着父控件的底部,在android里面RelativeLayout很好用

下面的是每一个tab项的布局文件上面是图片下面是文字
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView android:id="@+id/tab_imageview_icon" android:layout_width="fill_parent" android:layout_height="32.0dip" android:scaleType="fitCenter" />
    <TextView android:id="@+id/tab_textview_title" android:textSize="11.0sp"  android:ellipsize="marquee" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:marqueeRepeatLimit="1" />
</LinearLayout>



是一张.9.png格式的图片,这个很有用哟在android里,经常用来处理图片拉升的问题。左边和上面的小点表示要拉伸的地方,右边和下面的表示内容区。关于.9.png格式图片在android里面得更多应用看http://developer.android.com/guide/developing/tools/draw9patch.html


  • 大小: 120.8 KB
  • 大小: 42.4 KB
  • 描述: tab_bkg.9.png
  • 大小: 882 Bytes
分享到:
评论
15 楼 嘟嘟橙 2013-05-12  
14 楼 zlb21 2013-02-25  
13 楼 zlb21 2013-02-25  
         
12 楼 yun_bo 2012-08-23  
马克,好好看看,希望能学到好东西
11 楼 wenlong200817 2012-06-24  
厉害,学习下!!!
10 楼 egox 2012-02-15  
代码里 “</span>” 应该是改排版留下的吧 呵呵
9 楼 egox 2012-02-15  
哥们, 能详细介绍一下 .9.png 怎么用么??
8 楼 helloandroid 2011-11-03  
294460620 写道
哥们排版跟不上内容,看下来好费劲你这文章

呵呵,是的,刚才自己看了一下的确很费劲(这贴是在iteye发的第一帖,当时不太熟悉这编辑器),中午刚修改了一下,现在好多了
7 楼 294460620 2011-11-03  
哥们排版跟不上内容,看下来好费劲你这文章
6 楼 zixuefei 2011-09-17  
很好,值得学习下
5 楼 wtmax 2011-09-16  
791237440@qq.com求源代码
4 楼 chrips 2011-09-07  
来膜拜下。楼主的文章很好。
3 楼 limingcai 2011-08-11  
我想问一下,你那个按钮整齐排放是用什么属性的 在XML文件里,另外还有一个问题 用TAB的时候,在页面上用鼠标滚动 会跳出来一个错误,不知道你是用什么方法解决的.
2 楼 落日思晨 2011-08-02  
万岁!楼主厉害!能给QQ吗?
1 楼 八岭书生 2011-07-20  
765789371@qq.com 求源代码

相关推荐

    Android腾讯微博客户端开发

    Android腾讯微博客户端开发

    Android 腾讯微博客户端源码

    本篇文章将基于“Android腾讯微博客户端源码”这一主题,深入探讨其中的关键技术和设计理念,帮助开发者们提升对Android应用开发的理解。 一、架构设计 腾讯微博客户端源码采用MVC(Model-View-Controller)架构...

    移动应用Android 腾讯微博客户端源码.rar

    本篇文章将基于提供的"移动应用Android 腾讯微博客户端源码"进行深入解析,揭示其背后的设计理念、技术架构以及实现细节,为Android开发人员提供宝贵的参考资料。 首先,我们需要理解Android应用的基本结构。一个...

    Android腾讯微博客户端开发五利用FootView实现ListView滑动动态

    在Android应用开发中,腾讯微博客户端的构建是一个典型的案例,涉及到许多高级技术和设计模式。本篇文章将聚焦于如何利用FootView来实现ListView的滑动动态效果,这在提供用户友好的交互体验上至关重要。 首先,...

    Android 腾讯微博客户端源码1.rar

    【标题】"Android 腾讯微博客户端源码1.rar" 涵盖了Android平台上腾讯微博客户端应用程序的源代码,这是一个深入理解Android应用开发、社交网络集成以及腾讯微博API使用的宝贵资源。在这个源码中,我们可以看到如何...

    毕业论文安卓827腾讯微博客户端app.doc

    本文档提供了一个完整的 Android 腾讯微博客户端的设计与实现过程,涵盖了需求分析、系统设计、代码实现和功能测试等方面的内容,对于 Android 开发和微博客户端的设计与实现具有一定的参考价值。

    腾讯微博客户端源码

    【腾讯微博客户端源码】是一个面向Android平台的应用程序开发项目,它提供了全面的功能,与腾讯微博服务进行交互。源码的可用性使得开发者能够深入理解微博客户端的内部工作原理,学习如何实现各种社交网络功能,...

    Android 腾讯微博客户端源码.zip

    【Android 腾讯微博客户端源码】是一个深入学习Android应用开发的重要资源,它揭示了腾讯微博客户端在Android平台上的实现细节。这个源码库包含了客户端的所有组件、模块和功能,为开发者提供了一个鲜活的实例,可以...

    android腾讯微博客户端源码

    android腾讯微博客户端源码,功能基本齐全。

    Android程序研发源码Android 腾讯微博客户端源码.zip

    本次我们关注的是"Android腾讯微博客户端源码",这是一份可以帮助开发者深入了解腾讯微博客户端实现细节的宝贵资源。通过对这份源码的学习,我们可以了解到如何构建一个功能完备、用户友好的社交应用。 首先,从...

    android仿腾讯微博客户端

    《Android仿腾讯微博客户端开发详解》 在移动互联网飞速发展的今天,社交应用已经成为人们日常生活中不可或缺的一部分。作为中国主流的社交媒体平台,腾讯微博在移动端的重要性不言而喻。本篇将详细介绍如何在...

    基于Android腾讯微博客户端APP设计与实现.docx

    基于Android腾讯微博客户端APP设计与实现.docx

    Android腾讯微博客户端源码1.zip

    【Android腾讯微博客户端源码1.zip】是一个包含安卓平台上的腾讯微博客户端应用程序的源代码集合。这个源码库为开发者提供了深入理解腾讯微博Android应用设计和实现的宝贵资源。通过研究这个源码,我们可以学习到...

    好用的腾讯微博客户端

    总结,这个话题涵盖了腾讯微博客户端的使用、一个可能开源的Android应用以及关于源代码和技术工具的讨论。通过提供的博文链接,我们可以深入了解更多关于这个客户端的细节,如其工作原理、功能实现以及如何利用源...

    Android 腾讯微博客户端源码1.zip

    在Android平台上,腾讯微博客户端是一款非常流行的社交媒体应用,它允许用户发布和浏览微博,与朋友互动。这个源码提供了宝贵的参考资料,可以帮助开发者深入理解Android应用的设计和实现原理。以下是针对该源码的...

Global site tag (gtag.js) - Google Analytics