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

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

 

用DEPHI 3.0实现动画ABOUT窗口-Delphi资料 用鼠标拖动无标题窗口-Delphi资料 在Delphi编程中创建一个启动闪现窗口 在form中想用enter来代替tab,请问如何实现?-Delphi资料 在Listboxes中加背景图-Delphi资料 在Window右下角的添加图标-Delphi资料 在程序中使用自定义的鼠标-Delphi资料 怎样建立简单的任务栏应用程序-Delphi资料 增强DelphiTStatusBar控制 制作Delphi的竖排标签 自适应表单的实现-Delphi资料 COM/DCOM的区别与联系-Delphi资料 CoolBar上控件的排列顺序-Delphi资料 Delphi 4 WebBroker Delphi 中自做动态显示的控件 Delphi3的DBGrid中的下拉列表和查找字段编程方法 DELPHI常见问题 Delphi的竖排标签 DELPHI构件制作方法 DELPHI控件Tweblabel的编制 DELPHI中MEMO组件的光标定位 Delphi中RichEdit的奥妙 Delphi中TApplication类 Delphi中日期时间输入的简洁方法 delphi中怎么调用interbase数据库? Memo的Undo功能-Delphi资料 RECT在Delphi中的灵活使用 StringGrid制作只读列-Delphi资料 TADOQuery下主明细表其属性关系如何设置,如何保存主表和明细表?-Delphi资料 TBatchMove用法-Delphi资料 TMemo的真正插入字符-Delphi资料 大家谁作过数据导入导出的程序阿,能不能给点指点阿!急!!!! 新手求救:如何发布一个用JAVA/JSP/SQL SERVER开发的系统!!! SQL里update的使用问题 今天辞职,散分散分散分! 我form中一select中的option被选中,在提交后,如何用javascript来保存选中的那个option 怎样调用约定为CDECL的DLL? 弹出菜单的位置问题,简单,快进 LINUX下的虚拟主机的问题 用过网上的G711-G721-G723代码做语音压缩的请进,高分 在98上安装了apache+php+mysql,让用287端口测试,287端口是什么 字体设置, LogFont的lfFaceName... 关于随机 新手问题 如何动态改变 RichEdit 中的字体?很急! !!!怎样把stringgrid中已经选择得数据读出来!!!! 我该学些什么? CObject类是MFC类吗? 请问除了http://java.sun.com/j2se/1.4/download.html外,哪里还有jdk1.4下载? 有没有兄弟做过关于DSP与PC的并行通信? 请教接口查询的问题 如何清空表中的全部记录? 我是一个vb 的初学者,请大家介绍一两本好的关于数据库开发的书! 《Delphi淡手辑略 之 数据库篇》:数据安全保存(函数) DB2 store procedure Easy_Problem!!!关于对话框!!! weblogic下调用java bean出了点问题 (苯苯) 如何在两地用netmeeting通信,共享信息,两方为win98和win2000server,使用modem连接 tomcat 如何与 jboss 进行集成 Regular DLL中向导生成的winapp对象有什么用? 关于Install shield 的问题 一个高难度问题,特急! 从一个页的Button事件中如何获取在iframe中另一页中选种checkbox的值? 大家一起来帮帮我 我是个新手请教如何在98下安装和设置apache,尽是详细些,最好给介绍些资料 高手请教,有关类的链表指针 如何定义日期类型? 请教高手!如何执行带条件SQL语句? 大家一起来为c#加油阿 追女教训谈 如何用OUTLOOK作多用户使用???? 赐教 有谁知道ramdrive.sys在dos下的详细用法,敬请赐教,倍感感激!! 怎么用Delphi调用MySql(win) 关于frame的问题. 为什么显示不出来???? c#通过INTERNET远程访问数据库都有什么办法?(请高手指点) 有誰能把CDONTS.DLL(電子郵件)的源代碼貼出來嗎?有分送,THANK! 请教 NetColorWolf(NCW) pb7的工具条栏的文字字体! 为什么,我的子窗口调用另一个窗口时,总是新开一个被调用窗口,而且被调用窗口中的ADOTable的connected总是丢失。why 《Delphi淡手辑略 之 数据库篇》:数据安全删除(函数) 请教! 我用setfocus使一个控件聚焦,但我想隐藏光标,不想让它在界面上闪动,怎么办? 用方程解,是天才的快来帮我 病毒,主要的生物致癌因素有哪些? 英语翻译Put your basic compensation policies in writing before making decisions about anyon’s pay.Even if your agency employs only a handful of people,it is important to think about the role you want money to play in attracting and retaining th 瓷片电容的读法.如瓷片电容电标有104,其容量是多少.还有1F=-uF=-pF=-nF? 引起癌细胞病变的因素有哪些? 英语翻译Although he never finished elementary school,the bearded,former lathe operator and leftist leader has skillfully managed the country’s economy,setting aside his old populist rhetoric to adhere to prudent,conservative fiscal and monetary 瓷片电容103什么意思手头有块板子,上面的瓷片电容上面就只有103这个标注,还有一种是标注104的.请问下,上面的 103 104 ①在适宜条件下,癌细胞能够,. ②癌细胞的,发生显著变化. ③癌细胞的,发生了变化,细胞膜上的,等物质减少,使得癌细胞彼此之间的,显著降低,容易在体内分散和转移 英语翻译还有要说的就是薛宝钗的爱情悲剧了.看到黛玉因为非常抑郁而死了,她依然非常难过.可等到读完红楼梦后,我突然伤感了.薛宝钗这样的人物,也要像李纨一样,将自己的一生都浪费在这 0-2s间到底是几秒?这些文字问题有归纳吗? 朝花夕拾全面人物分析 已知等差数列{an}的公差为1,且a1+a2+a3+…+a100=5050求{an}通项公式,求 a2+a4+a6+…+a100的值 朝花夕拾 赏析 在公式s=vt+1/2at²中s,t(t不等于0),v则a=() 第3题选什么?高中物理题 《赤壁赋》的翻译. 对朝花夕拾中一个人物的赏析要一个明确的人物,答的好我加分 4、如图所示,玻璃管中封闭有一段气体,当玻璃管向下自由下落时,管中空气柱长度( B )A、增大,B、减少,C、不变,D、无法确定 朝花夕拾赏析 谁有 朝花夕拾 和 钢铁是怎样炼成的 文段或人物性格赏析 高中物理3-5重要么感觉不想学那些 《朝花夕拾》的赏析 对于朝花夕拾中的人物评价400字最好是关于阿长的评价 照样子写几个和下面词语意思相近的词例:走——逛.溜达.散步.踱步看——说—— 已知等差数列{An}中,A1=1,An=A(n+1)+2 (n≥1),则A100为多少? 朝花夕拾人物赏析2段 照样子写词语 摇晃 和温暖还有什么组词 这个电容上的数字表示的含义?54 47 6A这个电容上写了这三组数字都代表了什么 引起细胞癌变的致癌因子有哪三类 霉菌都是对人体不利的吗,如黄曲霉还可能致癌对吗? 瓷片电容上写着: 等差数列中,a1+a2+.+a50=200,a51+a52+.+a100=2700,a1等于A-1221 B-21.5 C-20.5 D-20 黄曲霉产生的什么物质会对人体致癌 瓷片电容上就一个数字应该怎样读? 细胞癌变的致癌因子 《朝花夕拾》主要内容100字只需要100字的主要内容就够了,不要超出,要<100 瓷片电容上写了个300是什么意思? 在等差数列{An}中,a1+a2+……+a50=200,a51+a52+……+a100=2700,求a1和d,要详细过程 求《朝花夕拾》的主要内容,100字以内. 朝花夕拾的赏析 致癌因子一定会导致细胞癌变么 朝花夕拾主要故事情节100字以内 在等差数列{an}中,a1+ a2+ .+a50=200,a51+a52+.+a100=2700则a1为在等差数列中,a1+ a2+ a3.+a50=200,a51+a52+.a100=2700,则a1为 致癌因子为什么会导致细胞的癌变? 朝花夕拾主要内容及感想分章100字左右 等差数列an中,a1+a2+.+a50=200,a51+a52+...+a100=2700,则a1的值为? 细胞的癌变,致癌因子 《朝花夕拾》的主要内容 200字以内 急用 在等差数列{an}中 a1+a2+.+a50=200 a51+a52+...+a100=2700 求a1 朝花夕拾 每篇的赏析 英语快,好评(⊙o⊙)哦. “顾颉刚”三字咋读啊? 已知{an}是等差数列,a1+a2+.+a50=200,a51+a52+.+a100=2700,则a1等于多少. 谁有《朝花夕拾》的名段赏析?要求格式为:段落-------------------------------------------------(不少于二百字)评析---------------------------------------(不少于一百字)多谢! 阅读笔记和读书笔记有什么不同 病毒致癌因子是什么?是不是说:没有某种病毒可以直接导致癌症,而是由这中病毒引发的疾病最终导致癌症,所以这些能够间接引发癌症的病毒被称为病毒致癌因子? 英语翻译Supplier shall not be,nor in any way represent itself as,an agent of JCI and shall have no authority to enter into any obligation on behalf of JCI or to bind JCI in any way 顾颉刚 怎么读 病毒致癌因子有什么举例 英语翻译Few things upset you more than knowing certain of your objectives could undermine other people.if you can,do something about it.That is,get in touch with the individuals in question.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘