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)监测液化天然气液压 ...
随机推荐
- 传感器- 加速计 - CoreMotion
/** * CoreMotion * */ #import "ViewController.h" #import <CoreMotion/CoreMotion.h> ...
- [原博客] POJ 2505 A multiplication game 组合游戏
题目链接题意: 有一个数p=1,甲乙两人轮流操作,每次可以把p乘2~9中的一个数,给定一个n,当一个人操作后p>=n,那么这个人赢,问先手是否必胜. 必胜状态:存在一种走法走到一个必败状态. 必 ...
- Cloud Insight 现在已经支持监控 Cassandra 啦!
Cassandra 是什么? Apache Cassandra 以其可扩展性和容错分布式数据库系统而被人所熟知.Cassandra 起源于Facebook 最初创建于 Amazon Dynamo 和谷 ...
- mytbatis配置多数据源
http://blog.zous-windows.com/archives/207.html http://www.oschina.net/question/144055_141255?sort=ti ...
- VC模拟发送数据包-百度关键词查找
VC模拟发送数据包-百度关键词查找 逗比汪星人2009-09-06上传 VC模拟发送数据包-百度关键词abcdef查找 详情 http://blog.csdn.net/wangningyu htt ...
- 使用Systrace分析UI性能
开发应用的时候,应该检查它是否有流畅的用户体验,即60fps的帧率.如果由于某种原因丢帧,我们首先要做的就是知道系统在做什么(造成丢帧的原因). Systrace允许你监视和跟踪Android系统的行 ...
- openCV python 安装
0, 用 import cv 测试,发现没有安装 opencv 模块. 首先先说本开发环境是在windows xp的环境下进行搭建的. 在搭建的过程中需要保证这三个条件: 1.python需要安装py ...
- UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决
模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除 模拟启库 SQL> STARUP; * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 2 ...
- MySQL源码之两阶段提交
在双1的情况下,两阶段提交的过程 环境准备:mysql 5.5.18, innodb 1.1 version配置: sync_binlog=1 innodb_flush_log_at_trx_comm ...
- 利用if else 求房贷
static void Main(string[] args) { while (true) //主要就是公式的运用和if else 的嵌套 ...