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

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

 

以Google第二代数据库产品MegaStore为理论模式 探索HBase系统 传Google明年推Chrome OS触摸屏上网本 下载自己过去的Tweets?用户准备好了吗? 微软任命研究部门新副总裁 负责北京等实验室 欧朋首席标准官:HTML5将在2014年成熟 开发利器:对游戏开发者最具价值的5类iOS应用 专访前IE浏览器内核研发工程师,带你深入了解IE10 Windows 8市场接纳速度慢于Windows 7 别只看下载量!“用户留存率”才是关键! 预计2020年出现百亿亿次级超级计算机 Google数据中心PUE的秘密 一个传奇:有个人不断赢得世界算法冠军 音乐能力开放平台合作探索之旅 社交网络海外营销技巧及工具实战 大数据谬误 —— 为什么我们需要收集更多的数据 传苹果地图负责人Rich Williamson遭解雇? 一个月:Windows 8授权许可已破四千万 里程碑:iPhone与Android企业用户市场首次超过黑莓 VMware最快下周宣布分拆Cloud Foundry 国际原子能机构服务器遭窃 百多位专家信息泄密 用户可通过Google Drive直接向Gmail添加高达10GB的文件 韩寒携个人App进军移动互联网 亮相应用汇独家发布会 摆脱谷歌 亚马逊向开发者正式发布地图API 为什么应该用模块取代C/C++中的头文件? Mozilla布道师:HTML5在移动端没有未来? 那些年,历史上留下浓重一笔的黑客们 林敏博士:透过设计看三星手机帝国崛起 OpenFeint血泪史:我们是如何被苹果逼死的 或免费升级:微软2013年推Windows Blue系统 取经:《捕鱼达人2》每月捞金160万美元的秘密 AWS推数据仓库服务Redshift 价格仅是Teradata IBM Oracle的十分之一 上传图片问题? xml中怎么取得这个值呀? 请大家给介绍一本学VC++.NET的书!谢谢 有谁用过solpartwebcontrols.dll控件来建立菜单的,请进! pcanywhere联机方式 高手请进,关于MFC的消息映射。 问一个可能是低级的问题:嵌在网页中的Windows Control能不能打印 请教:我用一个COMBOBOX作为存放表字段名,如何SELECT搜索满足条件 “三个代表”具体是指什么,希望各位JJGGMM帮忙解释一下了,谢谢!(90度鞠躬!!!!~~) 如何将装入到graphi字段的图片压缩?? 看过windows程序设计的朋友请进来 asp调用存储过程问题请教!!!!急!!!! IIS不能使用了该怎么解决? 请教C#问题(1)?? Oracle Intermedia Text支不支持中文的模糊查询 我是ORACLE菜鸟,现有一SQL语句(SQL Server语法),想转换成ORACLE语法,请指点 数据库连接问题??????????? 大虾,请看这里看看? vb中字符串中怎么输入双引号(")或单引号(')? 大家帮忙看看为什么这段代码不工作? ████ 这个帖子骂人,请斑竹秉公处理!!!!!!!████ 怎么样让时间加一个差值; 在另一个类中,怎样给Radio或Combobox赋值 ~~~~向各位高人请教三层线程模型,分可以另开贴加。 new出来的idicmpclient的onreply事件怎么响应? 那位大虾帮我看一下这断代码(JSP高分请教) 帮帮忙啦,哪位同志用过mscomm控件做点对点拨号通讯的 AspRunner是个不错的辅助编写ASP页面的工具,请问哪里有破解下载的啊?谢谢了! 在vc#中如何删除目录下的所有文件? 急 关于分级菜单 求救,如何在注册表中得到一个硬件设备(如猫)的驱动文件名称? 一个难题,希望高手能解决,急切等待! 关于网络状况测试的问题 新手上路,问一个很初级的问题,呵呵。。。 请问如何实现在同一个窗口中的自动跳转? 为什么不能调用类? 关于SQL语句求助 如何在asp和asp.net里面共享信息 溢出错误,麻烦来看看! 知道汉字的国标(gb?)码值,如何显示汉子,急求救!!!! 在SQL2000怎样建立全文索 Cannot start SQL Server Agent 能用case when 举一个例子吗?如果工资>1000 职务='处长',如果工资<1000 职务='科员' 如何将从xml文件中读取的文本在网页上保持格式的显示? sql语句求助!1 有宁波考高程的吗?有参加班的吗? 水晶报表问题???高手请进!!!!!! 使用openquery建立视图。急!急!急!急!急!急! 小问提 交个朋友 谁知道HMDSO是什么意思?是不是六甲基二硅氧烷 上午6时的气温是,下午5时的气温比上午6时下降,下午5是气温是多少 三头鲍和九头鲍哪个更值钱?为什么 黑鲍是什么意思? 美鲍的意思美鲍是按摩意思啊? 二头鲍和一头鲍是什么意思? 如图求a,b,c,d,e,f (1)f(x)=负的根号下X (2)f(x)=X分之2-X 请帮我解决这四道题!要脱式计算!谢谢!快我着急! 如图.已知AB切圆O于点A.OB垂直AC于点C,交圆O于点的,连结AD,求证:角1=角2 15点18分到00点00分还有几个小时 纽约警方透露华裔灭门案细节 孩子均遭“飓风级”大风暴袭击致英国南部22万一名越南籍变性人涉嫌贩毒被马来西亚警普京称索契冬奥会欢迎任何性取向的人参法国女婴在后备箱被发现 躺在排泄物中法国女婴在后备箱被发现 躺在排泄物中澳大利亚维州采取强硬措施整治司机开车日本明仁天皇夫妇将首次访印 前首相森执政联盟候选人赢得格鲁吉亚总统选举美被曝一月内监听西班牙超6000万个纽约华裔社区灭门案震惊美国 凶手提审台“高检署检察长”陈守煌将离职 称心台媒评台湾花大钱办跨年晚会:烟火幸福温州发生一起持假枪入室抢劫案 警方将吃饭也得出奇诡异 寻访全球14个另类石家庄2013年12月市容考评结果出北京环保局:学术界已证实机动车为主要港报:台湾经济荆棘从生 推动两岸合作高邑从三方面入手关爱农村“留守儿童”麦帅批火箭缺少活力爆发力:不能只有琼港报:台湾经济荆棘从生 推动两岸合作功甫帖被指伪作研究报告公布
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘