android自定义TabWidget

在做项目的时候,需要用到这个选项卡,刚开始看了系统的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的更多相关文章
- android自定义TabWidget样式
先看看效果图吧,个人觉得图标丑了点,不过还行,自己用PS做的 下面是全部代码和流程,一定要按流程顺序来,不然错误! 1.tabhost.xml <TabHost xmlns:android=&q ...
- android自定义tabhost,tabcontent用intent获得
地址:http://my.oschina.net/aowu/blog/36282 自己改的自定义tabhost组建,效果图如左.有更好的朋友可以相互交流一下,嘿嘿. 1.先上AndroidManife ...
- 自定义TabWidget
在开发过程中,默认的TabWidget不能满足我们对于UI的要求并且没有足够的属性工我们去修改,这个时候能够自定义TabWidget是非常必要的.自定义TabWidget组要运用的是TabSpec.s ...
- android 自定义动画
android自定义动画注意是继承Animation,重写里面的initialize和applyTransformation,在initialize方法做一些初始化的工作,在applyTransfor ...
- Android自定义View 画弧形,文字,并增加动画效果
一个简单的Android自定义View的demo,画弧形,文字,开启一个多线程更新ui界面,在子线程更新ui是不允许的,但是View提供了方法,让我们来了解下吧. 1.封装一个抽象的View类 B ...
- Android自定义View4——统计图View
1.介绍 周末在逛慕课网的时候,看到了一张学习计划报告图,详细记录了自己一周的学习情况,天天都是0节课啊!正好在学习Android自定义View,于是就想着自己去写了一个,这里先给出一张慕课网的图,和 ...
- (转)[原] Android 自定义View 密码框 例子
遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 ...
- Android 自定义View合集
自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/ ...
- Android 自定义View (五)——实践
前言: 前面已经介绍了<Android 自定义 view(四)-- onMeasure 方法理解>,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压 ...
随机推荐
- 在windows下创建.gitignore文件
1.使用另存为的方式 2.在win7下,文件名输入 ”.gitignore.“ http://hbiao68.iteye.com/blog/2055496 http://lyhopq.github ...
- xHtml+css学习笔记
第一节 xHTML规范 *文档方面 -必须定义文档类型(DTD)和名字控件 *标签方面 -所有标签均要小写.关闭.合理嵌套.ID不能重复 -标签属性药有值,属性值要加印号且不能为空 -图片一定要加上a ...
- 【良心noip膜你赛】总结
一点都不良心!!!! AK 快乐爆零快乐!!! 1. A. value512mb 1s规定一个区间的价值为这个区间中所有数 and 起来的值与这个区间所有数 or 起来的值的乘积.例如 3 个数 2, ...
- 基于Maven的spring_security入门
配置文件的修改点没什么变化,可以参考:http://blog.csdn.net/ouitiken/article/details/8830505 pom.xml的依赖参考: <dependenc ...
- OA学习笔记-004-Spring2.5配置
一.jar包 (1)spring.jar (2)Aop包 aspectjrt.jaraspectjweaver.jar (3)动态代理 cglib-nodep-2.1_3.jar (4)日志 comm ...
- leetcode面试准备:Minimum Size Subarray Sum
leetcode面试准备:Minimum Size Subarray Sum 1 题目 Given an array of n positive integers and a positive int ...
- GCC优化选项-fomit-frame-pointer对于esp和ebp优化的作用
我的博客:www.while0.com -fomit-frame-pointer选项是发布产品时经常会用到的优化选项,它可以优化汇编函数中用edp协助获取堆栈中函数参数的部分,不使用edp,而是通过计 ...
- BZOJ_1208_&_Codevs_1258_[HNOI2004]_宠物收养所_(平衡树/set)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1208 (据说codevs要更新?就不放codevs的地址了吧...) 有宠物和人,每个单位都有 ...
- Java 编程下 Eclipse 如何设置单行代码显示的最大宽度
Eclipse 下一行代码的默认宽度是 80 , 稍长一点的一行代码就会自动换行,代码可读性较差,我们可以自己在 Eclipse 对代码宽度进行设置. 设置路径为:[Window]→[Preferen ...
- ecshop 模板与库文件lbi
转: 管理中心的"设置模板"其实就是把特定的[库项目]添加到模板中的[可编辑区域],或从[可编辑区域]中删除/修改某些[库项目],后台的"设置模板"只能对添加特 ...