成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ListView小知識整理:滑動背景、Item間隙等

移動開發 Android
在Android中,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控件中加入如下屬性:

  1. android:listSelector="@drawable/timer_list_selector"  

在drawable中定義timer_list_selector的屬性值

timer_list_selector.xml中定義如下:

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

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

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

設置Item之間無間隙

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

  1. android:divider="#00000000"  

或者在javaCode中如下定義:

  1. 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 是一個圖片資源

總體如下:

  1. <ListView 
  2. android:id="@+id/myListView01" 
  3. android:layout_width="fill_parent" 
  4. android:layout_height="287dip" 
  5. android:fadingEdge="none"  
  6. android:scrollingCache="false" 
  7. android:divider="@drawable/list_driver" 
  8. android:background="@drawable/list"> 
  9. </ListView> 
責任編輯:徐川 來源: OSChina
相關推薦

2014-07-16 13:08:24

ListViewItem View

2015-10-22 10:59:13

ListViewItem刷新

2013-08-07 10:47:58

Android特效ListView

2013-08-07 10:35:02

AndroidListView拖拽

2016-10-31 19:22:24

JavaScript語法

2013-07-24 19:04:52

iOS開發學習CGRectInset

2013-10-11 14:51:16

Linux進程管理

2015-07-15 15:02:18

LTE

2013-07-29 04:46:48

iOS開發iOS開發學習iOS小知識

2021-03-02 07:51:17

前端開發技術熱點

2021-03-03 08:04:44

前端開發技術熱點

2021-03-01 08:03:16

前端開發技術熱點

2010-05-10 13:44:57

Unix FreeBS

2013-04-16 11:08:44

Android基本概念

2013-04-16 10:45:52

Android基本概念

2009-08-25 09:19:01

C#實現窗體顯示

2020-09-08 14:17:00

戴爾

2021-01-25 14:47:51

DevOps數字化運維

2009-12-24 17:45:31

ADO查詢

2015-12-16 11:24:16

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 爱操影视 | 无码国模国产在线观看 | 免费观看一级特黄欧美大片 | 99精品免费久久久久久久久日本 | 日韩成人免费在线视频 | 日韩精品一区二区三区视频播放 | 国产在线小视频 | 日本午夜视频 | 国产精品久久久久久妇女6080 | 99re视频在线 | 国产一区二区在线免费视频 | 美女在线视频一区二区三区 | 青青草社区| 中文字幕加勒比 | 97起碰| 欧美日韩成人在线 | av永久免费 | 天天综合网天天综合色 | 国产精品久久久久一区二区三区 | 日韩中文字幕 | 亚洲免费视频在线观看 | 久久精品国产亚洲一区二区 | eeuss国产一区二区三区四区 | 一区在线播放 | 91传媒在线观看 | 国产一区欧美一区 | 91视频一88av | 凹凸日日摸日日碰夜夜 | 欧美日韩中文字幕 | 美女艹b | 精品一级电影 | 亚洲精品一区二区三区蜜桃久 | 国产乱码精品1区2区3区 | 91久久久久久久久久久久久 | 99久久精品免费看国产小宝寻花 | 亚洲不卡在线观看 | 欧美a√| 成人免费在线观看 | 国产成人99 | 免费国产视频在线观看 | 免费亚洲视频 |