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)监测液化天然气液压 ...
随机推荐
- AppDelegate解析
当我们创建一个iOS项目,默认会有main.m类,这是一个程序的主入口.main.m方法体如下: #import <UIKit/UIKit.h> #import "AppDele ...
- IOS公司开发者账号申请详细教程--1 备用
谈到苹果开发者账号,我们需要区分一下个人账号.公司账号和企业账号这三种,还有一种是教育账号,这个就不多说了. 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99. ...
- JavaEE下载文件名不显示中文的问题
我们在做JavaEE项目下载文件时,在我们熟悉的UTF-8编码下经常会发现文件名中文乱码.中文不显示等状况,此时,将文 件名改一下编码或许会解决这个烦恼: fileName = new String( ...
- leetcode 第二题Add Two Numbers java
链接:http://leetcode.com/onlinejudge Add Two Numbers You are given two linked lists representing two n ...
- 在mesos上安装storm,并且执行wordcount测试程序
mesos上安装storm 1.基本说明 如果只用一句话来描述storm的话,可能会是这样:分布式实时计算系统.按照storm作者的说法,storm对于实时计算的意义类似于hadoop对于批处理的意义 ...
- capitalize()在Python中含义
Python为string对象提供了转换大小写的方法:upper() 和 lower(). 还不止这些,Python还为我们提供了首字母大写,其余小写的capitalize()方法, 以及所有单词首字 ...
- hdu 4714
一个树形dp的题,又是一个涉及不深的领域 = =: 不过在网上看到了大神用很巧的思路解决了这个题: 大神的思路就是: 从树的底部往上看:如果一棵子树拥有两个及以上的叶子节点,可以将这棵子树与大树分离 ...
- Ecmall系统自带的分页功能
在Ecmall的二次开发中,分页是必不可少的.这个系统已经自带了分页功能,下面来看看如何使用这个分页. 下面是一个自定义的类,用于查看订单的详细情况.关键在于get_order_data()这个方法, ...
- DDD领域驱动设计和实践(转载)
-->目录导航 一. DDD领域驱动设计介绍 1. 什么是领域驱动设计(DDD) 2. 领域驱动设计的特点 3. 如果不使用DDD? 4. 领域驱动设计的分层架构和构成要素 5. 事务脚本和领域 ...
- 教你如何监控 Apache?
什么是 Apache? Apache 是一款 HTTP 服务器软件,现在更名为 "http",而 Apache 则成了一个(包含httpd的项目)巨大的基金组织,根据习惯后文都用 ...