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

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的功能。大家有什么问题可以留言讨论哈。

 

平台与技术专题论坛(二):游戏开发实践分享及IE11新体验 看Twitter上市后的入职面试题 六届中国大数据技术大会PPT精粹(三) AMD推多款异构计算开发工具 着力打造APU软件生态系统 Ceylon 1.0发布:又一个“Java语言替代品”? HTML5开发工具:英特尔XDK New 苹果公司为何“情系”PrimeSense 微App专场:不同平台下微App开发运营那些事 25载工程经验,HBase七年——BDTC2013讲师Michael Stack 或许对你创业有所启示:10个英国快速增长的科技创业公司 小米游戏中心10月报告:分析各种手游活动之优劣 欢网王智勇:传统电视厂商须补互联网基因 透露与百度合作细节 支付宝声波支付之初体验 首款使用HSA架构的Kaveri APU、多款异构计算开发工具APU13上齐亮相 分享10段实用的HTML5代码 十条建议送给那些初入职场的小白 这是要灭掉DC的节奏?谷歌欲推Android摄像头API 支持RAW 专访产品经理Markus Spiering:冬眠多年后的Flickr如何在夹缝中生存? 创业与投资专题论坛:硬件的现在!创业的未来? 造就Office新用法:微软推WP应用 可遥控Office文件 成为一名PHP专家其实并不难 前富士康CEO程天纵:创新来自长尾,创业源于创客! 最危险的开源项目——比特币 11月20日:微软正式发布Windows 1.0 回顾历代Windows版本界面 微软CEO鲍尔默卸职前在股东会上的最后演讲 微软改革员工排名制度或将开启新篇章 【快讯】SAP联合中国电信,又一外商公有云曲线入华 微软CloudOS云操作系统构建企业级三云合一 IE11支持JavaScript新型API,Web应用国际化更便捷 谷歌推订阅应用Play Newsstand:杂志+RSS阅读器 【信息图】到2020年开发者、设计师、测试员的数量将达到史无前例的高度 php为什么安上后不能用 在VS.Net中如何使注释生成已编译的HTML帮助文件? 我想更改Win2000的开机画面,请高手指点 ADO连接数据库时的事务处理问提 对于动态生成的控件,如何确定它的名字? vb 中使用select 的问题 想把post的变量遍历,怎样实现 小问题 关于参数 如何通过一个计算机名来查出它在局域网中的IP !!!!!~~~ 急,哪里可以下载IeWebControl? 有没有方法通过分布式连接直接从sql server写数据到oracle数据库。 郁闷问题:有谁知道Textbox在运行时如果没有任何输入,它是否空值? 如何用vb做一个启动程序(在windows启动运行) 请问,怎样将一个已分好区的电子盘格式化成ext2格式??? 请教web services问题 高分求购H261解码算法 子类中怎么用基类中的一个属性? 请问有没有JB7的中文教程,高分相求!(400分) 怎样在下拉列表框中显示数据表?具体怎么做? 请教,各位是如何实现对SQL SERVER的记录加密的? Datagrid中的HyperLinkColumn如何传递两个变量值给下一页? 高手请进:怎样将一个值传递到datagrid模板列的一个textbox中?问了好久,没有人会吗? ACCESS中的DATEPART函数为什么不能执行? 怎样在下拉列表框中显示数据表?具体怎么做? davidnim(天道酬勤) ,谢谢你了! EA 哥们们想你! 过年了你还好不? 听说你去了米国。。。。。。 我的winsock通信程序 一到晚上11点的样子就出现异常错误 异常处理问题 基础问题5!先答先给分! js里alert()的问题 win2k server+php4.2文件上传错误 如何解决画面抖动问题 请教:在sql server 2000中怎么执行sql语句? 深圳有那些公司用.net 自己重新编译了内核想安装到另外一台没有linux的机器 ORACLE中如何用SELECT语句将查询结果保存成文本格式文件。急急急!!答对一定给分!!! *.ASE文件格式是什么?在3D Explorer中可以把.3ds转换为这种格式吗? sqlserver2000 能否跨于访问 help me!!!!!!!!!!!!!!!!!! 在查询分析器中删除的数据可以恢复吗??急!!!!sql server 2000 角色问题 有重庆的朋友吗?进来介绍个好点的考点,南华中天怎么样? 修改鼠标形状 请问如何在浏览器上显示网站特有的图标??如163,sina等等 头发太飘逸了,风一吹就乱七八糟怎么办? 有没有遇到错误就中断的选项 请问各位大侠,VC中如何开发出浏览器全屏的程序? IdQuotedPrintableEncoder如何用呀,在线等。 散分,5个三角啦,顺便问一个问题 多烦人的IIS的验证!!死活搞不定!!!! 中国好声音巡演长沙站高清图集好声音巡演深圳站精彩现场图集好声音深圳巡演全场爆满 引爆最高人气好声音巡演重庆站火辣热情秀《中国好声音》第二季录制 东北学员组第二季《中国好声音》开录 让导师转身那英第二季好声音抢人有新招:我去年带“好声音”第二季严防剧透 程度堪比谍第二季中国好声音导师秀7:4:4:4 四大导师欢脱开转《中国好声音》第二季大不同 呈现&q第二季"好声音"好友变对手 好声音导师上演新“老友记奶爸金志文的人生“三级跳”那一年我们一起追过的杨32郎杨坤“中吴莫愁 那一年我们一起追过的《中国好李代沫发新专辑 “中国好声音”四大导《好声音》阿妹爱撒娇爱跳舞 那英女王《好声音来了》探秘录制现场 盘点第二第二季好声音开机发布会 张惠妹戏称自第二季《中国好声音》开录 关于抢人的浙江:单身汉遇情侣妒火中烧 用铁锤敲一周文艺这是在用绳命玩耍吗怎样用绘本让孩子爱上写作\"大北京·新香河\"论坛召开 香汐乌鲁木齐儿童医院专家提醒:别把儿童肺新疆“福康工程”服务南疆特殊人群甘肃建立应急救助制度 为“三无”病人太原警方严查“婚炮”扰民行为河北纪检将加紧查处城建、土地、治超等科比54秒连中三记3分 吃3大帽引张“球王”贝利因胃部不适病入院 病情并11家林果产品品牌成“新疆农业名牌”安倍晋三或推迟增税计划 提前大选巩固意大利一华人女童在车祸中受伤 经治疗吐鲁番开展百日百元高铁体验游刘德华送好友墨宝 写30字价值90万“双台联展”开创参展先河 奥迪A3 中国人赴美签证有效期延长 北美华侨华朝鲜拟成立多个经济开发区 称条件“得南京六朝博物馆“剁手俑”走红(图)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘