在做项目的时候,需要用到这个选项卡,刚开始看了系统的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. iOS - Responder Chain

     在iOS中,当发生事件响应时,必须知道由谁来响应事件.这就是由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次 ...

  2. Word2003中如何使封面和目录中不插入页码

    Word2003中如何使封面和目录中不插入页码?? 转载自: http://blog.zzedu.net.cn/user1/zhaoweijie/archives/2010/187266.html   ...

  3. 使用ImageMagick和Tesseract进行简单数字图像识别

    使用ImageMagick和Tesseract进行简单数字图像识别 由于直接使用 tesseract 进行识别,识别率很低, ImageMagick 安装.配置及使用: 平台:winXP 1. 安装I ...

  4. JavaScript自学代码--(四)

    //JavaScript Window - 浏览器对象模型 window.document.getElementById("header"); //等价于 document.get ...

  5. 使用 Python 的 SQLite JSON1 和 FTS5 扩展

    早在九月份,编程界出现一个名为 json1.c 的文件,此前这个文件一直在 SQLite 的库里面.还有,笔者也曾总结通过使用新的 json1 扩展来编译 pysqlite 的技巧.但现在随着 SQL ...

  6. C#学习笔记二:C#程序结构

    从最简单的HelloWorld开始入手,这是一个最低限度的C#程序结构. C# Hello World 示例 一个C#程序主要由以下几部分组成: 命名空间声明 一个类 类方法 类属性 一个Main方法 ...

  7. springboot + devtools(热部署)

    技术介绍 devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件.属性文件.页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现 ...

  8. insert into select * from 锁表

    mysql[192.168.11.187] processid[249] root@localhost in db[zjzc] hold transaction time 197 112069858, ...

  9. git从指定的commit创建分支

    How do I create a new git branch from an old commit? git checkout -b justin a9c146a09505837ec03b Thi ...

  10. bzoj2257

    不难发现其实这个捣鼓过程就是一个辗转相减所以最小燃料是瓶容量的最小公约数然后穷举约数即可 ..] of longint; n,k,x,i,m,j,t:longint; procedure sort(l ...