欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Android實(shí)現(xiàn)ListView圓角效果

 更新時(shí)間:2020年10月28日 14:40:14   作者:Healtheon  
這篇文章主要為大家詳細(xì)介紹了基于Android實(shí)現(xiàn)ListView圓角效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文演示如何在Android中實(shí)現(xiàn)ListView圓角效果。

無(wú)論是網(wǎng)站,還是APP,人們都愛(ài)看一些新穎的視圖效果。直角看多了,就想看看圓角,這幾年刮起了一陣陣的圓角設(shè)計(jì)風(fēng):CSS新標(biāo)準(zhǔn)納入圓角元素,特別是在iphone中幾乎隨處可見(jiàn)圓角設(shè)計(jì),現(xiàn)在也開(kāi)始出現(xiàn)很多圓角名片了。

現(xiàn)在就給大家實(shí)現(xiàn)一個(gè)圓角的ListView效果。 圓角的設(shè)計(jì),我們并不追求到處都用,無(wú)處不用,android中有少數(shù)界面用直角確實(shí)容易顯得鋒利,和周邊界面太過(guò)對(duì)比而顯得不協(xié)調(diào),比如大欄目列表,設(shè)置等等,而采用圓角實(shí)現(xiàn),則會(huì)活潑,輕松的多,也融合的特別好。

先看下在IPhone中實(shí)現(xiàn)圓角效果的一個(gè)圖片:

在Iphone中這種效果處處可見(jiàn),但在Android中就需要我們手動(dòng)實(shí)現(xiàn)了。

我們先看下示例運(yùn)行效果圖,如下所示:

實(shí)現(xiàn)原理:
通過(guò)判斷ListView上點(diǎn)擊的項(xiàng)的位置,我們切換不同的選擇器,當(dāng)然這個(gè)切換的動(dòng)作我們需要定義在重寫(xiě)ListView的

onInterceptTouchEvent()方法中。
 if(itemnum==0){
 if(itemnum==(getAdapter().getCount()-1)){
 //只有一項(xiàng)
 setSelector(R.drawable.app_list_corner_round);
 }else{
 //第一項(xiàng)  
 setSelector(R.drawable.app_list_corner_round_top);
 }
}else if(itemnum==(getAdapter().getCount()-1))
 //最后一項(xiàng)
 setSelector(R.drawable.app_list_corner_round_bottom);
else{
 //中間一項(xiàng)  
 setSelector(R.drawable.app_list_corner_shape);
}

定義選擇器: 
如果只有一項(xiàng),我們需要四個(gè)角都是圓角,app_list_corner_round.xml文件定義如下:

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 <gradient android:startColor="#BFEEFF" 
 android:endColor="#40B9FF" 
 android:angle="270"/>
 <corners android:topLeftRadius="6dip"
 android:topRightRadius="6dip"
 android:bottomLeftRadius="6dip"
 android:bottomRightRadius="6dip"/>
</shape>

如果是頂部第一項(xiàng),則上面兩個(gè)角為圓角,app_list_corner_round_top.xml定義如下:

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 <gradient android:startColor="#BFEEFF" 
 android:endColor="#40B9FF" 
 android:angle="270"/>
 <corners android:topLeftRadius="6dip"
 android:topRightRadius="6dip"/>
</shape>

如果是底部最后一項(xiàng),則下面兩個(gè)角為圓角,app_list_corner_round_bottom.xml定義如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 <gradient android:startColor="#BFEEFF" 
 android:endColor="#40B9FF" 
 android:angle="270"/>
 <corners android:bottomLeftRadius="6dip"
 android:bottomRightRadius="6dip" />
</shape> 

如果是中間項(xiàng),則應(yīng)該不需要圓角, app_list_corner_shape.xml定義如下:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 <gradient android:startColor="#BFEEFF" 
 android:endColor="#40B9FF" 
 android:angle="270"/>
</shape> 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論