在做项目的时候,需要用到这个选项卡,刚开始看了系统的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. 深入探究JavaScript中的比较问题

    先用最近遇到的几个问题做引子: 1 console.log(null==undefined); //true 2 console.log(null==false);//false 3 console. ...

  2. libSVM 参数选择

    libSVM 参数选择  [预测标签,准确率,决策值]=svmpredict(测试标签,测试数据,训练的模型);    原文参考:http://blog.csdn.net/carson2005/art ...

  3. Axzue注册码

    ahjesus Axure RP 7.0注册码 用户名:axureuser 序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9IKu+kgKh79FL6IyPD6lK7G6+t ...

  4. 【网络流24题】No.21 (最长 k 可重区间集问题 最长不相交路径 最大费用流)

    [] 输入文件示例input.txt4 21 76 87 109 13 输出文件示例output.txt15 [分析] 直接co题解好了,写得挺全.. [建模方法] 方法1 按左端点排序所有区间,把每 ...

  5. [wikioi]数的划分

    http://wikioi.com/problem/1039/ 划分型DP.最终的思路是,F[i][j]表示i分成j份,如果分出来的有1,那么去掉1,就是F[i-1][j-1]:如果没有1,那就都减1 ...

  6. WCF的配置文件中的要素

    Windows Communication Foundation Configuration Schema

  7. oracle查询转换_view merge

    oracle对于子查询的支持做的很好,oracle optimizer会对inline view进行query transfomation,即视图合并,不过也经常带来意想不到的问题.下面是一个inli ...

  8. jQuery对象和DOM对象原来不一样啊

    jQuery对象和DOM对象使用说明,需要的朋友可以参考下.1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery ...

  9. 【Node】SuperAgent

    What is the current mechanism to construct a query string with SuperAgent?http://stackoverflow.com/q ...

  10. android报错——findViewById报错

    通過ID找到Layout的 VIEW控件.,比如你的控件Button ID為"@+id/button01"   就可以通過這樣Button btn=(Button)findView ...