頻道欄目
首頁 > 資訊 > Android實例 > 正文

基于Android實現ListView圓角效果

16-06-21        來源:[db:作者]  
收藏   我要投稿

  本文演示如何在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"/>

  

 

相關TAG標簽
上一篇:臺積電:絕大多數7nm客戶都會轉向6nm_IT新聞_博客園
下一篇:最后一頁
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片