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

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

 

23.5亿美元!谷歌出售摩托罗拉机顶盒业务 两家巨头相继放弃移动广告,移动广告形势堪忧? 应用洗牌,还能免费多久?Google推出iPad版Quickoffice 2012末日APP推荐 求生自救必备! Windows8上网利器 不卡死的IE10浏览器 请教过滤的问题!谢谢! 请大家给点建议 怎样打开Office风格的打开文件对话框? access 判断表存在? 系统不能从光驱启动? 100分给能解决tomcat5里htm文件中文乱码的 b/s下如何显示视图的一个分类?急!分不够再加! 启动界面的一个小问题 求G.722.2 float源代码 《郑板桥吟诗赶小偷》这篇文章中,小偷听了自觉羞愧, excel如何合并表格(表1) 如何弄才能合并成( 高中英语完形填空!是用现在分词与过去分词At on 描写夏天的四字词语有哪些 科学化学反应和质量守恒氯酸钾和二氧化锰在试管中加热 我们国家大概多久能登月啊 凹面镜在生活中的运用实例,要求越多越好 郑板桥是怎样的人 郑板桥是个怎样的人 江苏:物业费不满3年就涨 业主可要求南京鼓楼推行公务自行车 评论:别止于温州全省首推非现场记分交通违法网上处南京“礼让斑马线”行动满月 109人黑龙江非转基因大豆产业遇危机:加工一盘点国内10大影视上市公司,上半年谁芝麻金融分享 投资理财十三锦囊2.5D弧面屏麦芒4是一部怎样的手机一旦遇到这十种情况要果断清仓!包贝尔含泪宣布退出《跑男3》鹿晗加盟金刚崛起最强神国铁血狂锋异界声望大师狂我大学城旅游崩密列旅游女王宫旅游超然楼旅游颐和路公馆旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘