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)监测液化天然气液压 ...
随机推荐
- Duplicate Symbol链接错的原因总结和解决方法-b
duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在.但是经过一段时间的总结,发现这种错误总是有一些规律可以找的.例如,我们有如下的最简单的两个类代码: // ...
- python的random函数
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- 关于ADMM的研究(二)
关于ADMM的研究(二) 4. Consensus and Sharing 本节讲述的两个优化问题,是非常常见的优化问题,也非常重要,我认为是ADMM算法通往并行和分布式计算的一个途径:consens ...
- [刷机教程] 三星Note8 N5100不卡屏的唯一解决办法--落雨刷机教程
首先我自己写了一个word,在附件里.大概23页,图文并茂.附带三星NOTE8 N5100 MD2下载包 刷机要谨慎啊,小伙伴们. 刷机教程已经上传到我本人的网站:点击进入去看吧.和word一样. h ...
- 【2011 Greater New York Regional 】Problem G: Rancher's Gift
计算几何的题目,很简单: 自己随手敲了个,纪念下! #include<cstdio> #include<cmath> using namespace std; struct p ...
- 如何使用 HTTP 响应头字段来提高 Web 安全性?
在 Web 服务器做出响应时,为了提高安全性,在 HTTP 响应头中可以使用的各种响应头字段. X-Frame-Options 该响应头中用于控制是否在浏览器中显示 frame 或 iframe 中指 ...
- Python Web 性能和压力测试 multi-mechanize
http://www.aikaiyuan.com/5318.html 对Web服务做Performance & Load测试,最常见的工具有Apache Benchmark俗称ab和商用工具L ...
- 如何使用mysql的grant命令(详解)
grant命令的基本格式 grant 权限 on 数据库对象 to 用户 实例一:在任意ip地址登陆的common_user用户可以对testdb数据库里的数据进行查询操作.插入操作.更新操作.删除操 ...
- spring集成Apache的ActiveMQ
1.直接看优秀的博客 http://www.open-open.com/lib/view/open1435496659794.html
- PLSQL调用webservice
1. 用途简介 为什么要在Oracle中访问WebService?在系统实现中,有时会有直接在数据库端利用触发器.存储过程等方式进行数据传递.分发的业务,而其中可能会涉及一些业务逻辑,为了处理 ...