说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

android编程实现仿iphone的tab效果

HTML文档下载 WORD文档下载 PDF文档下载
很多人都喜欢iphone 酷炫的界面,虽然android的原生控件已经足够漂亮,但是往往不能满足用户越来越挑剔的眼光。其实,我们完全可以自己来绘制界面。今天我就来分享下做一个和iphone一样的tab界面。

相信很多人都喜欢iphone 酷炫的界面,虽然android的原生控件已经足够漂亮,但是往往不能满足用户越来越挑剔的眼光。其实,我们完全可以自己来绘制界面。今天我就来分享下做一个和iphone一样的tab界面。下面先来看下iphone上的效果

 

在开始之前,我们必须掌握最基础的,也就是android中图形界面的绘制。首先讲下简单图形的绘制,这里我们就借绘制下图的背景部分来讲下吧。

 

先看代码:

 

publicclass Itab extends View {private Paint mPaint;public Itab(Context context, AttributeSet attrs){   //构造器,View下构造器有三种方式,在xml中配置必须实现这种方式   super(context, attrs);}@Override protected void onDraw( Canvas canvas ){        super.onDraw( canvas );        mPaint =new Paint( );//创建画笔        mPaint.setStyle( Paint.Style.FILL );//设置画笔 为实心        Rect r =new Rect( );//创建一个矩形        this.getDrawingRect( r );        canvas.drawColor( 0xFF000000 );        mPaint.setColor( 0xFF434343 );	//绘制这个矩形图形        canvas.drawLine( r.left, r.top+1, r.right, r.top+1, mPaint );}}

在xml中这样配置

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="#C5CCD4FF"><com.notice520.itab.Itab        android:id="@+id/Tabs"        android:layout_width="fill_parent"        android:layout_height ="49px"        android:layout_alignParentBottom ="true"/></RelativeLayout>

这样就会得到如下的效果,这显然不是我们想要的。

 

 

不过别着急,我们只要在onDraw()这个方法里面添加如下一段代码:

int color =46;for( int i =0; i <24; i++ ){     mPaint.setARGB( 255, color, color, color );     canvas.drawRect( r.left, r.top + i +1, r.right, r.top + i +2, mPaint );     color--;}

通过循环的绘制,我们就可以得到如下的效果

是不是很简单呢。图形绘制中还有一个比较重要的是贴图的绘制。同样这个例子,我们在这个背景上绘制一个图标,非常的简单,同样在onDraw()这个方法里面添加如下代码

Bitmap icon = BitmapFactory.decodeResource( getResources( ), R.drawable.monitor );Paint p =new Paint( Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);p.setColor(Color.WHITE);    canvas.drawBitmap(icon, 10, 10, p);

代码非常简单,第一行获得图片资源,第二行第一一个画笔,同时打开抗锯齿和过滤,第三行设置画笔颜色,最后一行绘制图片。

来看看效果

代码非常简单,第一行获得图片资源,第二行第一一个画笔,同时打开抗锯齿和过滤,第三行设置画笔颜色,最后一行绘制图片。

来看看效果

 

 

还不错吧,当然要实现完全的tab效果,这还是远远不够的。今天就写到这吧,天冷啊,手都冻僵了,明天或者后天我再接着写,从而最终实现和iphone一样的tab,当然也有完全可以替代原生tab的功能。大家有什么问题可以留言讨论哈。

 

AppGlu应用辅助工具:帮助开发者处理善后工作 iOS!你这几个方面该向Android好好学习 小于1%,中国有真正自主的移动操作系统吗? 张小龙专访系列(下):不一样的产品思维 Gartner:截止到2016年公有云市场复合增长为17.7% Appcore:在企业内部部署IaaS平台 B轮融资600万美元 超现实主义!用脑电波控制你的计算机设备 搜狐否认“情理之中”的退市 上市仍是最优选择 六大BaaS产品推荐:移动开发必备的后端云服务 未遵守承诺 微软遭遇欧盟7.31亿美元巨额罚单 PaaS正能量:6人团队,仅1人全职后端 支撑6000万用户 三星:我不抽成,收益100%让开发者拿去! 腾讯开放平台推“送红利计划” 承诺半年内不参与分成 JavaEE快速开发框架Wabacus 4.0发布,开发效率提高五倍以上 市盈率创新高 谷歌为什么会在苹果博弈中暂时胜出 从Rovio遇到危机,看现在应用市场的演变 Windows Azure支持Android应用 面向东亚推广云服务 抛弃DRAM、拥抱闪存,Facebook重做Memcached 夏普三星联姻 电子行业或将多元化发展 从下拉菜单设计细节看Amazon对用户体验的把握 Chartboost美女CEO:40人团队服务3亿移动玩家 Distimo:新晋开发者想让产品得到关注越来越难 OpenFeint绝迹后,开源项目OpenKit继续前进 美FDA通过搜索引擎和社交平台预警药品副作用 挖坟三星“眼球追踪技术”背后的技术团队 为什么开发者热衷在Stack Overflow上查阅API文档? Facebook推新News Feed 欲造就“个性化报纸” 女神程序员的一天:暴力测试social爬虫代码 2013IBM云存储路线图:更快,更简单,更安全 二战大数据故事:数学家、物理学家、概率论击败德国潜艇 软件定义网络服务商Pertino B轮融资2000万 菜鸟求助:关于句柄的问题。请高手多多指教 请问什么是存储过程(在SQL 2000SERVER中)? 1000分的大问题!***************怎么突破内存禁区读写的权限 java学什么?怎么学? java学什么?怎么学? 高分急救:Oracle安装完成后,服务可以启动,数据库不与服务一起启动,要手动启动 如何让启动时不自动进入x windows? 下载问题 如何得到CPU的序列号(编程) 向ActiveX控件是否可以传递数组参数 can i read or copy files in windows OS to linux? 什么错误? 将SYBASE数据库移植到SQL SERVER 过程中遇到的问题。急!help session问题 为什么我的web不能进断点? SO_REUSEADDR的疑问 关于web数据库的问题 怎么解??? 再送100分,求jtable例子! 怎样清除在image上画出的线,矩形(在运行时画上去的)?? 寻找在杭州文三路创业大厦11楼上班的朋友 where can i download simsun, and how can i use it? IIS与Apache一起工作,访问Apache时有什么办法不用指定端口? 是不是微软的一个低级漏洞? 谢谢zheng017给你的win2k superuser password的源程序。 在access2000的开发中,text框中如果只输入了空格,用text1.value取数据返回值却是null,如何能够返回空格呢? 强烈推荐:Robocode! 为了全体中国人!请回答我的问题!现在该如何访问google??????????????? =======请大家帮我介绍几个比较好的,LOTUS做的WEB网站。====== 为什么我在 M$ Win2000 使用钩子拦截键盘鼠标消息就那么困难 请问在datagrid里面如何增加记录??? 打算成立程序员单身者协会,欢迎大家发表意见,欢迎加入, snowy_howe请进来接分 邦定问题 高手指点 请问大家如何实现VB导入导出TXT文件(TAB分隔的数据)到数据库中?请具体一点,最好有例子 如何让一个模块在运行过程中中止运行. 请教如何控制目录返回?急!谢谢! 修改const常量问题 高手请进,关于asp远程读取信息的问题!急 关于VB 中的字符串截取 询问:国内有没有好的搜索网站????............... google不能用了,想用“3个代表”来搜索了 对在csdn灌水乐园混的程序员和非程序员突然有了种敬畏的感觉 如何远程获得对方机器的操作系统的类型? 请问Oracle和DB2 都是用什么写的? 有谁知道pbm_keydown事件返回值的含义? 大侠救命,SQL SERVER 访问问题,给高分 讨厌SOHU的请进来! "Mascot"该如何成为公司的中文名字? 我想学习ARM,现有SAMSUNG的ARM7芯片和CYGWIN(WINDOW下的UNIX),不知还需要些什么?可否给些相关的指点,谢谢! 用西班牙语介绍一下智利!特别是旅游的地方 小船渡河,河宽d=180m,水流速度v1=2.5m/s,(1) 若船在静水中的速度为v2=5m/s,求①欲使船在最短的时间内渡河,船头应朝什么方向,用多长时间,位移是多少.②,若航程最短,船头朝什么方向?用多少时 在矿山露天爆破中,什么是炸药单耗?说一下定义,有计算公式最好~ 用英语介绍一下智利的情况原文是这样的:Do you know anything about Chile?我是初三的,不要太复杂的单词与语法.围绕地理、人文、盛产等大方面说就好了.不能超过初中生的水平阿 电打火机里的产生高压电火花的原理是什么? 有机硅对油漆的破坏作用,有人知道么,会发生什么化学反应啊?有机硅或者含硅的胶对喷涂后的漆面有什么影响或者对漆料有什么影响? 焊接电源是如何分类的?共分几类?焊接电源是不是只是指弧焊电源还是弧焊电源只是焊接电源的一种? 打火机里的火花发生器的原理是什么?如题 煤矿爆破有经验的朋友告诉一下,因为现在井下遇到岩石,需要爆破,但是放了3炮一点效果都没有,我下井看了下感觉眼位不对,角度也不对,但不知道怎么去计算,就当一扇门,上面是拱形的半个圆, 电源电池掉了,正负级的代码符号各是什么?在哪焊接? 神东岩石的抗压强度求份神东矿区的岩石物理力学性质的参数,2-2煤顶板的 求有机物的同分异构体要不要考虑顺反异构,(如果题目没说),有些资料书上都没考虑顺反异构,它们不是同一物质啊?为什么不考虑? 飞镖盘最大多少寸的 盒子里有大小相同的20个红黄两种球,想要摸到红球的可能性是五分之二,盒子里应放 为什麼说:“多水的江南是易碎的玻璃,在哪儿,打不得这样的腰鼓?” 地理等高线专项训练,最好是有答案的, 一根圆柱管道,知道长度L直径D入口水压P1 出口水压P2 能算出水流速度V么? 作者为什么说多水的江南是易碎的玻璃,在那儿,打不起腰鼓 地理等高线是啥意思等高线是啥子东东,讲讲哈 哪些是一类电源 多水的江南是易碎的玻璃,在那儿,打不得这样的腰鼓.这句话运用了那些修辞手法? 地理中的等高线什么高于高的、低于低的,怎么判断? 长城电源有哪些系列 数控铣床G02G03中R代表什么意思,还有和I.J.K的区别. 怎样培养初中生的地理学习兴趣和有关经纬网,等高线,地球运动的相关问题呢? 电源的种类及其特点有哪些? 数控加工中心铣整圆弧时I和J怎么使用 如图,有四个正方体,每个正方体的六个面上的A、B、C、D、E、F六个字母徘列顺序相同F对面的字母是() 1.用长为2根号2的细直杆连接两个小球A、B,质量分别为m和2m,置于一个光滑、半径R的半球面碗内.问:达到平衡时,半球面的球心与B球的边线和竖直方向间夹角的正切为?2.竖直平面内有一圆形力 数控铣圆弧的I J K 怎么计算 如图,有四个正方体,每个正方体的六个面上的A、B、C、D、E、F六个字母徘列顺序相同第一个B对面的字母是(B的对面 A的对面 E的对面 安塞腰鼓为什么多水的江南,打不得这样的腰鼓? a+b+c+d=20 abcd都为正整数,问总共的不同的排列有多少? 中国铜排铜材中铜矿物的特点及分布特征? 安塞腰鼓文中写鼓前静鼓后静安塞腰鼓的打鼓前的静和打鼓后的静各有什么作用 四川地震后重建大概需要多少时间 飞镖的训练靶和比赛靶有什么区别 把一个正方体的六个面分别标上字母A、B、C、D、E、F并展开如图所示,已知:A=x2-4xy+3y2,C=3x2-2xy-y2,B=12(C-A),E=B-2C,若正方体相对的两个面上的多项式的和都相等,求D、F.快呀, 那样壮阔、火热、豪放的安塞腰鼓是黄土高原孕育了这样的力量,可文中为何提到多水的江南,与安塞腰鼓有什 飞镖靶上有1-20个区域,打在靶上的任意一镖,落在5的倍数区域上的可能性是( ) 铜矿在中国分布主要在哪几个城市 在哪个省 总结一下简洁一点 比较直齿轮和斜齿轮在几何尺寸计算上有何不同 推荐几本讲高中自然地理的书,比如等高线,昼长夜长之类的书, 江西铜矿的具体分布、、、 安塞腰鼓是否属于延安武鼓下面是节选自《延安武鼓》中的一段文字,请结合文字内容推断,“安塞腰鼓”是否属于“延安武鼓” 一方水土养一方人.延安武鼓以它的“狂”和“野”展示了黄 rotrac六个字母组合成的单词 世界铜矿分布 斜齿轮的相关计算,有没有高手求指导模数1、齿数22、分度圆D=31.11、齿宽13、法向齿形角a=20度、齿定高系数1、螺旋角=45度、螺旋方向=右旋、变位系数Xn=0、公法线长度W=20.003(-0.08 -0.12)、跨 把 reatmk 这六个字母排列成单词 打火机里面的火花是电流还是电压?电人为什么会麻呢?在一根很长的铁棍或者别的金属的一头打一下,火花到了铁棍,另一头的铁棍的人也感觉到手也麻了,这么长的铁棍,为什么,没有电阻呢? 露天非煤矿山实施中深孔爆破的台阶高度为多少合适? 下面六个字母,符合音序排列的一组是A.LHPSQLB.HLNPQSC.HNLQPSD.HLNQPS 电子打火机里面的火花产生是什么原理?为什么会有那么高的电压? 请教煤矿炮采(长臂采煤法、爆破落煤)怎么提高出煤效率本人在煤矿从事采煤工作,看着炮采工作面工人每天工作很辛苦,请教下各位有什么办法能提高出煤、回料的效率?减小工人劳动量,增 AAABBB 六个字母共有多少种不同的排列方法,请一一列出,如:ABABAB AABBAB 打火机里产生火花的那个东东叫叫什么?原理是什么? 煤矿爆破什么叫自由面 氢氧化钠能与水反应吗? 那些橡胶适合做洗衣机皮碗 油漆能与什么发生化学反应
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘