在做项目的时候,需要用到这个选项卡,刚开始看了系统的tabwidget,囧了,底边有黑线不说,还不美观,扒了好多的网页发现前辈做的能够满足自己的需求,将代码修改了下,就能用喽,伟人说过,站在前辈的肩膀上,我们能看的更远。不多少了,上源码...

tabwidget.xml

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"

02     android:id="<A href="http://my.oschina.net/asia" rel=nofollow target=_blank>@android</A> :id/tabhost"

03     android:layout_width="fill_parent"

04     android:layout_height="wrap_content"

05

06     >

07     <RelativeLayout android:orientation="vertical"

08         android:layout_width="fill_parent"

09         android:layout_height="fill_parent"

10         >

11         <FrameLayout android:id="<A href="http://my.oschina.net/asia" rel=nofollow target=_blank>@android</A> :id/tabcontent"

12             android:layout_width="fill_parent"

13             android:layout_height="wrap_content"

14

15             />

16         <TabWidget android:id="<A href="http://my.oschina.net/asia" rel=nofollow target=_blank>@android</A> :id/tabs"

17             android:layout_width="fill_parent"

18             android:layout_height="wrap_content"

19             android:layout_weight="0.0"

20             android:scaleType="center"

21             android:background="@drawable/tab_widget_background"

22             android:layout_alignParentBottom="true"

23             />

<!-- android:layout_height="45dp" -->

24

25

26     </RelativeLayout>

27 </TabHost>

tab_item_view.xml

<?xml version="1.0" encoding="UTF-8"?>

02 <LinearLayout

03   xmlns:android="http://schemas.android.com/apk/res/android"

04   android:orientation="vertical"

05   android:layout_width="wrap_content"

06   android:layout_height="wrap_content"

07   android:gravity="center">

08

09       <ImageView

10       android:id="@+id/imageview"

11       android:layout_width="wrap_content"

12       android:layout_height="wrap_content"

13       android:padding="3dp"

14       android:focusable="false">

15       </ImageView>

16

17       <TextView

18       android:id="@+id/textview"

19       android:layout_width="wrap_content"

20       android:layout_height="wrap_content"

21       style="@style/tab_item_text_style">

22       </TextView>

23

24 </LinearLayout>

Tabwidget.java

package jk.activity;

02

03

04

05 import android.app.TabActivity;

06 import android.content.Intent;

07

08 import android.os.Bundle;

09 import android.view.LayoutInflater;

10 import android.view.View;

11 import android.widget.ImageView;

12 import android.widget.TabHost;

13 import android.widget.TextView;

14 import android.widget.TabHost.TabSpec;

15

16

17 public class TabWidget extends TabActivity{

18     private TabHost tab ;

19     private LayoutInflater layoutInflater ;

20     @Override

21     protected void onCreate(Bundle savedInstanceState) {

22         // TODO Auto-generated method stub

23         super.onCreate(savedInstanceState);

24         setContentView(R.layout.tabwidget);

25         //System.out.println("211--------------");

26         init();

27

28     }

29

30     private void init(){

31         tab = getTabHost();

32         layoutInflater = LayoutInflater.from(this);

33         int count = Constant.ConValue.mTabClassArray.length;

34         //System.out.println("2--------------");

35         for(int i=0;i<5;i++){

36             System.out.println("2--------------");

37             TabSpec tabSpec = tab.newTabSpec(Constant.ConValue.mTextviewArray[i]).

38             setIndicator(getTabItemView(i)).

39             setContent(getTabItemIntent(i));

40             tab.addTab(tabSpec);

41

42             tab.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.selector_tab_background);

43         }

44

45     }

46

47     private View getTabItemView(int index){

48         //载入新的资源

49         View view = layoutInflater.inflate(R.layout.tab_item_view, null);

50         ImageView imageView = (ImageView)view.findViewById(R.id.imageview);

51         System.out.println("11---------"+index);

52         if (imageView != null)

53         {

54             //System.out.println(index);

55             imageView.setImageResource(Constant.ConValue.mImageViewArray[index]);

56         }

57         TextView textView = (TextView) view.findViewById(R.id.textview);

58         textView.setText(Constant.ConValue.mTextviewArray[index]);

59

60         return view;

61

62     }

63     private Intent getTabItemIntent(int index)

64     {

65         Intent intent = new Intent(this, Constant.ConValue.mTabClassArray[index]);

66

67         return intent;

68     }

69 }

android自定义TabWidget的更多相关文章

  1. android自定义TabWidget样式

    先看看效果图吧,个人觉得图标丑了点,不过还行,自己用PS做的 下面是全部代码和流程,一定要按流程顺序来,不然错误! 1.tabhost.xml <TabHost xmlns:android=&q ...

  2. android自定义tabhost,tabcontent用intent获得

    地址:http://my.oschina.net/aowu/blog/36282 自己改的自定义tabhost组建,效果图如左.有更好的朋友可以相互交流一下,嘿嘿. 1.先上AndroidManife ...

  3. 自定义TabWidget

    在开发过程中,默认的TabWidget不能满足我们对于UI的要求并且没有足够的属性工我们去修改,这个时候能够自定义TabWidget是非常必要的.自定义TabWidget组要运用的是TabSpec.s ...

  4. android 自定义动画

    android自定义动画注意是继承Animation,重写里面的initialize和applyTransformation,在initialize方法做一些初始化的工作,在applyTransfor ...

  5. Android自定义View 画弧形,文字,并增加动画效果

    一个简单的Android自定义View的demo,画弧形,文字,开启一个多线程更新ui界面,在子线程更新ui是不允许的,但是View提供了方法,让我们来了解下吧. 1.封装一个抽象的View类   B ...

  6. Android自定义View4——统计图View

    1.介绍 周末在逛慕课网的时候,看到了一张学习计划报告图,详细记录了自己一周的学习情况,天天都是0节课啊!正好在学习Android自定义View,于是就想着自己去写了一个,这里先给出一张慕课网的图,和 ...

  7. (转)[原] Android 自定义View 密码框 例子

    遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 ...

  8. Android 自定义View合集

    自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/ ...

  9. Android 自定义View (五)——实践

    前言: 前面已经介绍了<Android 自定义 view(四)-- onMeasure 方法理解>,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压 ...

随机推荐

  1. App在后台运行

    App有三种状态: 1. 死亡状态(未打开App); 2. 前台运行状态(打开状态); 3. 后台暂停状态(停止所有动画, 定时器, 多媒体联网等操作) 4. 后台运行状态(后台运行); ------ ...

  2. Cocoa Touch 框架

    Cocoa Touch包括: (1)Core Animation: 通过Core Animation,可以通过一个基于独立图层的简单的编程模型来创建丰富的用户体验. (2)Core Audio: Co ...

  3. iOS - 发送邮件

    IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. ...

  4. ThinkPHP学习手记——环境搭建

    怀着激动的心情打开了thinkPHP的文档,开启了第一次php框架学习. 下载 ThinkPHP最新版本可以在官方网站(http://thinkphp.cn/down/framework.html) ...

  5. HTML DOM select() 方法

    定义和用法 select() 方法用于选择该元素中的文本. 语法 textareaObject.select() 实例 下面的例子可选择文本框中的文本: <html> <head&g ...

  6. spring mvc 配置

    之前配置spring mvc 怎么都访不到对应的jsp,后来把prefix里面的jsp改为views,就能访问到了,然后再改回jsp也可以访问到 搞了两天,都崩溃了,不管怎样先把没问题的例子给记录下来 ...

  7. hdu 1281

    二分图,简单的模板题,不过题目比较难懂: 其中important chess就是删掉它不能够完美匹配,所以就枚举每一个可能删的棋子: 代码: #include <cstdio> #incl ...

  8. TiDB:支持 MySQL 协议的分布式数据库解决方案

    [编者按]TiDB 是国内 PingCAP 团队开发的一个分布式 SQL 数据库.其灵感来自于 Google 的 F1,TiDB 支持包括传统 RDBMS 和 NoSQL 的特性.在国内 ITOM 管 ...

  9. Ubuntu 安装基础教程

    转自:http://teliute.org/linux/Ubsetup/index.html 1.进入 live cd 桌面  1)设置好启动后,断开网络,然后重启动计算机,可以用硬盘启动,也可以刻成 ...

  10. 【简译】jQuery对象的奥秘:基础介绍

    本文翻译自此文章 你有没有遇到过类似$(".cta").click(function(){})这样的JavaScript代码并且在想“$('#x')是什么”?如果这些对你想天书一样 ...