最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android程序美化之自定義ListView背景的方法

 更新時(shí)間:2016年06月27日 10:34:59   作者:zeo  
這篇文章主要介紹了Android自定義ListView背景的方法,結(jié)合實(shí)例形式分析了ListView控件背景操作方法及常見(jiàn)問(wèn)題處理技巧,需要的朋友可以參考下

本文實(shí)例講述了Android程序美化之自定義ListView背景的方法。分享給大家供大家參考,具體如下:

在Android中,ListView是最常用的一個(gè)控件,在做UI設(shè)計(jì)的時(shí)候,很多人希望能夠改變一下它的背景,使他能夠符合整體的UI設(shè)計(jì),改變背景背很簡(jiǎn)單只需要準(zhǔn)備一張圖片然后指定屬性 android:background="@drawable/bg",不過(guò)不要高興地太早,當(dāng)你這么做以后,發(fā)現(xiàn)背景是變了,但是當(dāng)你拖動(dòng),或者點(diǎn)擊list空白位置的時(shí)候發(fā)現(xiàn)ListItem都變成黑色的了,破壞了整體效果。

這是為什么呢?

這個(gè)要從Listview的效果說(shuō)起,默認(rèn)的ListItem背景是透明的,而ListView的背景是固定不變的,所以在滾動(dòng)條滾動(dòng)的過(guò)程中如果實(shí)時(shí)地去將當(dāng)前每個(gè)Item的顯示內(nèi)容跟背景進(jìn)行混合運(yùn)算,所以android系統(tǒng)為了優(yōu)化這個(gè)過(guò)程用,就使用了一個(gè)叫做android:cacheColorHint的屬性,在黑色主題下默認(rèn)的顏色值是#191919,所以就出現(xiàn)了剛才的畫(huà)面,有一半是黑色的.

那怎么辦呢?

如果你只是換背景的顏色的話(huà),可以直接指定android:cacheColorHint為你所要的顏色,如果你是用圖片做背景的話(huà),那也只要將android:cacheColorHint指定為透明(#00000000)就可以了,當(dāng)然為了美化是要犧牲一些效率的。最后就不回出現(xiàn)上面所說(shuō)的你不想要的結(jié)果了!

自定義ListView行間的分割線(xiàn)

在Android平臺(tái)中系統(tǒng)控件提供了靈活的自定義選項(xiàng),所有基于ListView或者說(shuō)AbsListView實(shí)現(xiàn)的widget控件均可以通過(guò)下面的方法設(shè)置行間距的分割線(xiàn),分割線(xiàn)可以自定義顏色、或圖片。

在ListView中我們使用屬性   android:divider="#FF0000" 定義分隔符為紅色,當(dāng)然這里值可以指向一個(gè)drawable圖片對(duì)象,如果使用了圖片可能高度大于系統(tǒng)默認(rèn)的像素,可以自己設(shè)置高度比如6個(gè)像素   android:dividerHeight="6px" ,Android開(kāi)發(fā)網(wǎng)提示當(dāng)然在Java中ListView也有相關(guān)方法可以設(shè)置。

1)點(diǎn)擊Item時(shí)無(wú)背景顏色變化

在xml文件中的ListView控件中加入如下屬性:

android:listSelector="@drawable/timer_list_selector"

在drawable中定義timer_list_selector的屬性值

timer_list_selector.xml中定義如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_selected="true" android:drawable="@android:color/transparent" />
</selector>

在values文件夾下的colors.xml中定義transparent如下:

<color name="transparent">#50000000</color>

2)設(shè)置Item之間無(wú)間隙

在xml文件中ListView控件中加入如下屬性:

android:divider="#00000000"

或者在javaCode中如下定義:

listView.setDividerHeight(0);

3)自定義的BaseAdapter中調(diào)用notifyDataSetChanged()方法會(huì)重新調(diào)用BaseAdapter的getView()方法。

用心的朋友應(yīng)該會(huì)發(fā)現(xiàn),listview中在設(shè)置了背景之后。會(huì)有些問(wèn)題。

1.、listview在拖動(dòng)的時(shí)候背景圖片消失變成黑色背景。等到拖動(dòng)完畢我們自己的背景圖片才顯示出來(lái)。

問(wèn)題1 有如下代碼結(jié)解決

android:scrollingCache="false"

2 、listview的上邊和下邊有黑色的陰影。

問(wèn)題2 用如下代碼解決:

android:fadingEdge="none"

3、lsitview的每一項(xiàng)之間需要設(shè)置一個(gè)圖片做為間隔。
問(wèn)題3  用如下代碼解決: 

android:divider="@drawable/list_driver"

其中:@drawable/list_driver 是一個(gè)圖片資源

總體如下

<ListView
 android:id="@+id/myListView01"
 android:layout_width="fill_parent"
 android:layout_height="287dip"
 android:fadingEdge="none"
 android:divider="@drawable/list_driver"
 android:scrollingCache="false"
 android:background="@drawable/list">
</ListView>

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android視圖View技巧總結(jié)》、《Android編程開(kāi)發(fā)之SD卡操作方法匯總》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android文件操作技巧匯總》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Android自定義ViewGroup實(shí)現(xiàn)豎向引導(dǎo)界面

    Android自定義ViewGroup實(shí)現(xiàn)豎向引導(dǎo)界面

    這篇文章主要為大家詳細(xì)介紹了Andoird自定義ViewGroup實(shí)現(xiàn)豎向引導(dǎo)界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Kotlin實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用

    Kotlin實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用

    這篇文章主要為大家詳細(xì)介紹了Kotlin實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Kotlin中的contract到底有什么用詳解

    Kotlin中的contract到底有什么用詳解

    Kotlin contracts是一種通知編譯器有關(guān)函數(shù)行為的方式,下面這篇文章主要給大家介紹了關(guān)于Kotlin中contract到底有什么用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • 淺談Android系統(tǒng)的基本體系結(jié)構(gòu)與內(nèi)存管理優(yōu)化

    淺談Android系統(tǒng)的基本體系結(jié)構(gòu)與內(nèi)存管理優(yōu)化

    這篇文章主要介紹了Android系統(tǒng)的基本體系結(jié)構(gòu)與內(nèi)存管理優(yōu)化,非常簡(jiǎn)潔明了地總結(jié)了系統(tǒng)服務(wù)及垃圾回收等安卓的一些主要特性,需要的朋友可以參考下
    2016-02-02
  • 最新評(píng)論

    永兴县| 贞丰县| 九龙城区| 昌黎县| 乐陵市| 蓬溪县| 临夏县| 天台县| 永平县| 托里县| 进贤县| 紫金县| 云梦县| 砀山县| 林州市| 淮滨县| 莱芜市| 阿拉善左旗| 安陆市| 将乐县| 怀远县| 新晃| 广东省| 五莲县| 高阳县| 柳河县| 彩票| 铜梁县| 南丰县| 松原市| 镇坪县| 博罗县| 平山县| 惠东县| 和硕县| 灌云县| 林周县| 泽州县| 德保县| 镇巴县| 汾西县|