Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 基於Android實現ListView圓角效果

基於Android實現ListView圓角效果

編輯:Android開發實例

  本文演示如何在Android中實現ListView圓角效果。

  無論是網站,還是APP,人們都愛看一些新穎的視圖效果。直角看多了,就想看看圓角,這幾年刮起了一陣陣的圓角設計風:CSS新標准納入圓角元素,特別是在iphone中幾乎隨處可見圓角設計,現在也開始出現很多圓角名片了。

  現在就給大家實現一個圓角的ListView效果。 圓角的設計,我們並不追求到處都用,無處不用,android中有少數界面用直角確實容易顯得鋒利,和周邊界面太過對比而顯得不協調,比如大欄目列表,設置等等,而采用圓角實現,則會活潑,輕松的多,也融合的特別好。

  先看下在IPhone中實現圓角效果的一個圖片:

  

\

 

  在Iphone中這種效果處處可見,但在Android中就需要我們手動實現了。

  我們先看下示例運行效果圖,如下所示:

  

\

 

  

\

 

  實現原理:

  通過判斷ListView上點擊的項的位置,我們切換不同的選擇器,當然這個切換的動作我們需要定義在重寫ListView的

  onInterceptTouchEvent()方法中。

  if(itemnum==0){

  if(itemnum==(getAdapter().getCount()-1)){

  //只有一項

  setSelector(R.drawable.app_list_corner_round);

  }else{

  //第一項

  setSelector(R.drawable.app_list_corner_round_top);

  }

  }else if(itemnum==(getAdapter().getCount()-1))

  //最後一項

  setSelector(R.drawable.app_list_corner_round_bottom);

  else{

  //中間一項

  setSelector(R.drawable.app_list_corner_shape);

  }

  定義選擇器:

  如果只有一項,我們需要四個角都是圓角,app_list_corner_round.xml文件定義如下:

  

  

  

  android:endColor="#40B9FF"

  android:angle="270"/>

  

  android:topRightRadius="6dip"

  android:bottomLeftRadius="6dip"

  android:bottomRightRadius="6dip"/>

  

 

 

  如果是頂部第一項,則上面兩個角為圓角,app_list_corner_round_top.xml定義如下:

  

  

  

  android:endColor="#40B9FF"

  android:angle="270"/>

  

  android:topRightRadius="6dip"/>

  

 

 

  如果是底部最後一項,則下面兩個角為圓角,app_list_corner_round_bottom.xml定義如下:

  

  

  

  android:endColor="#40B9FF"

  android:angle="270"/>

  

  android:bottomRightRadius="6dip" />

  

 

 

  如果是中間項,則應該不需要圓角, app_list_corner_shape.xml定義如下:

  

  

  

  android:endColor="#40B9FF"

  android:angle="270"/>

  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved