在做项目的时候,需要用到这个选项卡,刚开始看了系统的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开发中有多少常用的加密解密方式(备用)

    最常用的是MD5和base64编码,还有DES 3DES AES加密 ios怎么实现RAS加密解密 最近几天折腾了一下如何在iOS上使用RSA来加密.iOS上并没有直接的RSA加密API.但是iOS提 ...

  2. poj 1284 Primitive Roots

    从来没有接触过完全剩余系,不会证明,知道看了别人的题解才知道要用欧拉函数: 下面是证明过程: p是奇素数,如果{xi%p | 1 <= i <= p - 1} = {1,2,...,p-1 ...

  3. ASP.NET中定制自己的委托和事件参数类

    本文笔记选自<庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术>一书 一般在实际开发中,对于事件不需要传递数据信息时,像上面的KingTextBox控件的事件,在引发事件时传递的 ...

  4. WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞

    漏洞名称: WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞 CNNVD编号: CNNVD-201310-499 发布时间: 2013-10-23 更新时间: 20 ...

  5. Java程序员从笨鸟到菜鸟全部博客目录

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 大学上了一年半,接触java也一年半了,虽然中间也有其他东西的学习,但是还是以java为主 ...

  6. Delphi TcxTreeList 怎么设置分组

    Delphi 的TcxTreeList控件设置按种类分组,操作如下: 1. 在TcxTreeList控件中双击,打开 Bands 属性,在这里面建需要分的组,在Captions->Text 输入 ...

  7. 你需要知道的10位Java开发牛人

    1.James Gosling 1983 年,Gosling 获得了加州大学的计算机科学学士学位.1990 年,他获得了卡内基梅隆大学的计算机科学博士学位,师从 BobSproull.在攻读博士期间, ...

  8. Unity优化之纹理集

    发现了一个比较好用的插件:ProDrawCallOptimizer. 它是用来合并纹理和材质的,而且用起来非常简便. 操作方法: 1.将包拖入Unity5中:ps:由于版本问题,直接双击包时导入不了 ...

  9. AIX项目总结_oracle_sqlloader_01

    近来一直在忙AIX的移行项目,但也因自己小小偷懒,所以到现在才开始记录.接下来,言归正传. 这个项目中,学习中了shell相关知识,从基本的语法命令(定义变量.特殊变量使用.循环控制.方法调用等)到l ...

  10. 树中是否存在路径和为 sum leecode java

    https://oj.leetcode.com/problems/path-sum/ /** * Definition for binary tree * public class TreeNode ...