自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android UI進(jìn)階之仿iphone的tab效果一

移動(dòng)開發(fā) Android
每一個(gè)Tab對(duì)應(yīng)了一個(gè)布局,一個(gè)Activity,對(duì)應(yīng)了多個(gè)功能布局。看看本篇所講述的吧。

相信很多人都喜歡iphone 酷炫的界面,雖然android的原生控件已經(jīng)足夠漂亮,但是往往不能滿足用戶越來越挑剔的眼光。其實(shí),我們完全可以自己來繪制界面。今天我就來分享下做一個(gè)和iphone一樣的tab界面。下面先來看下iphone上的效果

在開始之前,我們必須掌握最基礎(chǔ)的,也就是android中圖形界面的繪制。首先講下簡(jiǎn)單圖形的繪制,這里我們就借繪制這個(gè) 的背景部分來講下吧。直接看代碼

  1. public class Itab extends View {   
  2.      private Paint mPaint;   
  3.      public Itab(Context context, AttributeSet attrs) {//構(gòu)造器,View下構(gòu)造器有三種方式,在xml中配置必須實(shí)現(xiàn)這種方式   
  4.      super(context, attrs);   
  5.      }   
  6.     @Override  
  7.      protected void onDraw( Canvas canvas ){  
  8.          super.onDraw( canvas );  
  9.          mPaint = new Paint( );//創(chuàng)建畫筆17            
  10.          mPaint.setStyle( Paint.Style.FILL );//設(shè)置畫筆 為實(shí)心  
  11.          Rect r = new Rect( );//創(chuàng)建一個(gè)矩形  
  12.          this.getDrawingRect( r );  
  13.          canvas.drawColor( 0xFF000000 );  
  14.          mPaint.setColor( 0xFF434343 );  
  15.          canvas.drawLine( r.left, r.top + 1, r.right, r.top + 1, mPaint );//繪制這個(gè)矩形圖形  
  16.       }  
  17.  } 

在xml中這樣配置

  1. <?xml version="1.0" encoding="utf-8"?> 
  2.    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      
  3.     android:orientation="vertical" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     android:background="#C5CCD4FF"      
  7. > 
  8.    <com.notice520.itab.Itab    
  9.     android:id="@+id/Tabs" 
  10.     android:layout_width="fill_parent" 
  11.     android:layout_height = "49px" 
  12.     android:layout_alignParentBottom"true"   
  13.   /> 
  14. </RelativeLayout> 

這樣就會(huì)得到如下的效果,這顯然不是我們想要的。

不過別著急,我們只要在onDraw()這個(gè)方法里面添加如下一段代碼:

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

通過循環(huán)的繪制,我們就可以得到如下的效果

是不是很簡(jiǎn)單呢。圖形繪制中還有一個(gè)比較重要的是貼圖的繪制。同樣這個(gè)例子,我們?cè)谶@個(gè)背景上繪制一個(gè)圖標(biāo),非常的簡(jiǎn)單,同樣在onDraw()這個(gè)方法里面添加如下代碼

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

代碼非常簡(jiǎn)單,第一行獲得圖片資源,第二行第一一個(gè)畫筆,同時(shí)打開抗鋸齒和過濾,第三行設(shè)置畫筆顏色,最后一行繪制圖片。

來看看效果

還不錯(cuò)吧,當(dāng)然要實(shí)現(xiàn)完全的tab效果,這還是遠(yuǎn)遠(yuǎn)不夠的。今天就寫到這吧,天冷啊,手都凍僵了,明天或者后天我再接著寫,從而最終實(shí)現(xiàn)和iphone一樣的tab,當(dāng)然也有完全可以替代原生tab的功能。大家有什么問題可以留言討論哈。

【編輯推薦】

Android UI設(shè)計(jì)模式

Android四種Activity的加載模式

Android應(yīng)用之Activity傳參數(shù)與跳轉(zhuǎn)

iPhone音樂播放應(yīng)用軟件UI設(shè)計(jì)實(shí)錄

谷歌Android UI設(shè)計(jì)技巧:新的UI設(shè)計(jì)模式

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-03 09:34:14

Android iphone tab

2015-02-02 16:42:49

特效密碼鎖

2012-12-27 10:51:14

Android開發(fā)iPhone時(shí)間輪

2015-03-30 14:24:06

網(wǎng)易布局

2011-04-15 09:29:20

jQueryFlash

2014-07-08 12:26:24

Android LUI設(shè)計(jì)

2013-07-24 18:14:36

Android開發(fā)學(xué)習(xí)Android UIButton

2011-07-08 10:15:15

IPhone 動(dòng)畫

2015-02-28 15:15:47

插件Android桌面插件

2013-06-08 13:07:54

Android開發(fā)Android UILayout XML屬

2011-04-14 16:14:22

應(yīng)用商店OPPO

2014-12-31 16:37:16

win8磁盤自定義ImageVie

2014-10-14 15:50:19

UIAndroid

2021-08-25 07:43:17

AndroidSurfaceViewTextureView

2015-01-19 12:19:04

iOS源碼ActionSheet仿QQ音樂

2012-02-22 15:51:01

Android視覺效果UI

2013-07-23 16:33:27

Android視覺效果UI

2021-08-12 15:01:09

鴻蒙HarmonyOS應(yīng)用

2011-08-17 16:16:29

iPhone應(yīng)用程序啟動(dòng)過程

2022-03-11 07:22:20

CSS陰影基礎(chǔ)前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)