溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ListView的小知識都有哪些

發布時間:2021-11-26 11:40:20 來源:億速云 閱讀:412 作者:柒染 欄目:移動開發

今天就跟大家聊聊有關ListView的小知識都有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

在Android中,ListView是最常用的一個控件,在做UI設計的時候,很多人希望能夠改變一下它的背景,使他能夠符合整體的UI設計,改變背景很簡單只需要準備一張圖片,然后指定屬性  android:background="@drawable/bg",不過不要高興地太早,當你這么做以后,發現背景是變了,但是當你拖動,或者點擊 list空白位置的時候發現ListItem都變成黑色的了,破壞了整體效果,如下圖所示:

這是為什么呢?

這個要從Listview的效果說起,默認的ListItem背景是透明的,而ListView的背景是固定不變的,所以在滾動條滾動的過程中如果實時地 去將當前每個Item的顯示內容跟背景進行混合運算,所以android系統為了優化這個過程用,就使用了一個叫做 android:cacheColorHint的屬性,在黑色主題下默認的顏色值是#191919,所以就出現了剛才的畫面,有一半是黑色的.

那怎么辦呢?

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

自定義ListView行間的分割線

在Android平臺中系統控件提供了靈活的自定義選項,所有基于ListView或者說AbsListView實現的widget控件均可以通過下面的方法設置行間距的分割線,分割線可以自定義顏色、或圖片。

在ListView中我們使用屬性 android:divider="#FF0000"  定義分隔符為紅色,當然這里值可以指向一個drawable圖片對象,如果使用了圖片可能高度大于系統默認的像素,可以自己設置高度比如6個像素  android:dividerHeight="6px" ,當然在Java中ListView也有相關方法可以設置。

點擊Item時無背景顏色變化  

在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>

設置Item之間無間隙

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

android:divider="#00000000"

或者在javaCode中如下定義:

listView.setDividerHeight(0);

自定義的BaseAdapter中調用notifyDataSetChanged()方法會重新調用BaseAdapter的getView()方法。

listview中在設置了背景之后,會有些問題:

1.、listview在拖動的時候背景圖片消失變成黑色背景。等到拖動完畢我們自己的背景圖片才顯示出來。

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

3、lsitview的每一項之間需要設置一個圖片做為間隔。

針對以上問題 在listview的xml文件中設置一下語句。

問題1 有如下代碼結解決 android:scrollingCache="false"

問題2 用如下代碼解決:android:fadingEdge="none"

問題3 用如下代碼解決: android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一個圖片資源

總體如下:

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

看完上述內容,你們對ListView的小知識都有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女