ListView部分样式属性设置
生活随笔
收集整理的這篇文章主要介紹了
ListView部分样式属性设置
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在硬編碼中:
ListView lv= getListView();
lv.setDivider(new ColorDrawable(Color.GREEN));//用這個(gè)設(shè)置顏色
lv.setDivider(getResources().getDrawable(android.R.drawable.ic_menu_camera));//或者選一個(gè)系統(tǒng)提供的樣式
lv.setDividerHeight(5);//設(shè)置高度XML中就好說(shuō)了
android:dividerHeight="3dip"
android:divider="#FFCC00"
例:android:layout_width="fill_parent" android:layout_height="fill_parent"android:layout_weight="1"android:headerDividersEnabled="false"android:footerDividersEnabled="true"android:divider="@drawable/list_divider"android:dividerHeight="1dip"android:cacheColorHint="#FFFFFF"
/>xmlns:android="http://schemas.android.com/apk/res/android">android:startColor="#000000"android:centerColor="#CCCCCC"android:endColor="#FFFFFF"android:height="1px"android:angle="0" />以下是我在實(shí)際開(kāi)發(fā)中使用ListView總結(jié)的一些小技巧,有些時(shí)候是很有用的,分享給大家!~
寫(xiě)的不是很?chē)?yán)格,但是應(yīng)該都能看的懂!1.如何取消Listview的滾動(dòng)條?setVerticalScrollBarEnabled(false)2.白色的背景,ListView滾屏進(jìn)行中的時(shí)候,背景會(huì)變成黑色,解決辦法?android:cacheColorHint="#00000000"3.ListView滾動(dòng)條怎么一直都顯示?android:fadeScrollbars="false"4.ListView隔行變色:int[] colors={Color.BLUE,Color.CYAN};convertView.setBackgroundColor(colors[position%2]);5.ListView中嵌套了checkbox,焦點(diǎn)會(huì)到checkbox身上,解決辦法holder.checkBox.setFocusable(false);6.listView滾動(dòng)軸圖片更改?android:scrollbarThumbHorizontal="" //滾動(dòng)軸游標(biāo)android:scrollbarTrackVertical="" //滾動(dòng)軸背景、引用的是9patch圖片7.ListView設(shè)置EmptyView?mListView.serEmptyView();Sets the view to show if the adapter is empty這個(gè)就是對(duì)此方法的描述當(dāng)listview的adapter為null的時(shí)候,就會(huì)顯示所設(shè)置的view。需要注意的有兩點(diǎn):在調(diào)用setAdapter()之前調(diào)這個(gè)方法;設(shè)置的emptyview必須放 在listview的直接父布局里,比如說(shuō)listview嵌在一個(gè)LinearLayout里面的話(huà),需要在代碼里面寫(xiě) mLinearLayout.addContentView(你的emptyview);否則的話(huà)是沒(méi)效果的。8.ListView設(shè)置FooterView?在調(diào)用setAdapter()之前調(diào)這個(gè)方法footerView可以單獨(dú)寫(xiě)點(diǎn)擊觸發(fā)事件,但是注意最好寫(xiě)在listview的 OnItemClickListener()里面,然后根據(jù)點(diǎn)擊的位置if(position == mListView.getCount - 1){"觸發(fā)footerview點(diǎn)擊事件"}如果是單獨(dú)給它一個(gè)View.onClickListener的話(huà),點(diǎn)擊是可以觸發(fā)事件的,但是沒(méi)有l(wèi)istview的item按下的變黃色效果。9.android 自定義listview無(wú)法響應(yīng)點(diǎn)擊事件OnItemClickListener如果你的自定義ListViewItem中有Button或者Checkable的子類(lèi)控件的話(huà),那么默認(rèn)focus是交給了子控件,而ListView 的Item能被選中的基礎(chǔ)是它能獲取Focus,也就是說(shuō)我們可以通過(guò)將ListView中Item中包含的所有控件的focusable屬性設(shè)置為 false,這樣的話(huà)ListView的Item自動(dòng)獲得了Focus的權(quán)限,也就可以被選中了我們可以通過(guò)對(duì)Item Layout的根控件設(shè)置其android:descendantFocusability=”blocksDescendants”即可,這樣Item Layout就屏蔽了所有子控件獲取Focus的權(quán)限,不需要針對(duì)Item Layout中的每一個(gè)控件重新設(shè)置focusable屬性了,如此就可以順利的響應(yīng)onItemClickListener中的onItemClick()方法了。在硬編碼中:
ListView lv= getListView();
lv.setDivider(new ColorDrawable(Color.GREEN));//用這個(gè)設(shè)置顏色
lv.setDivider(getResources().getDrawable(android.R.drawable.ic_menu_camera));//或者選一個(gè)系統(tǒng)提供的樣式
lv.setDividerHeight(5);//設(shè)置高度XML中就好說(shuō)了
android:dividerHeight="3dip"
android:divider="#FFCC00"
例:android:layout_width="fill_parent" android:layout_height="fill_parent"android:layout_weight="1"android:headerDividersEnabled="false"android:footerDividersEnabled="true"android:divider="@drawable/list_divider"android:dividerHeight="1dip"android:cacheColorHint="#FFFFFF"
/>xmlns:android="http://schemas.android.com/apk/res/android">android:startColor="#000000"android:centerColor="#CCCCCC"android:endColor="#FFFFFF"android:height="1px"android:angle="0" />以下是我在實(shí)際開(kāi)發(fā)中使用ListView總結(jié)的一些小技巧,有些時(shí)候是很有用的,分享給大家!~
寫(xiě)的不是很?chē)?yán)格,但是應(yīng)該都能看的懂!1.如何取消Listview的滾動(dòng)條?setVerticalScrollBarEnabled(false)2.白色的背景,ListView滾屏進(jìn)行中的時(shí)候,背景會(huì)變成黑色,解決辦法?android:cacheColorHint="#00000000"3.ListView滾動(dòng)條怎么一直都顯示?android:fadeScrollbars="false"4.ListView隔行變色:int[] colors={Color.BLUE,Color.CYAN};convertView.setBackgroundColor(colors[position%2]);5.ListView中嵌套了checkbox,焦點(diǎn)會(huì)到checkbox身上,解決辦法holder.checkBox.setFocusable(false);6.listView滾動(dòng)軸圖片更改?android:scrollbarThumbHorizontal="" //滾動(dòng)軸游標(biāo)android:scrollbarTrackVertical="" //滾動(dòng)軸背景、引用的是9patch圖片7.ListView設(shè)置EmptyView?mListView.serEmptyView();Sets the view to show if the adapter is empty這個(gè)就是對(duì)此方法的描述當(dāng)listview的adapter為null的時(shí)候,就會(huì)顯示所設(shè)置的view。需要注意的有兩點(diǎn):在調(diào)用setAdapter()之前調(diào)這個(gè)方法;設(shè)置的emptyview必須放 在listview的直接父布局里,比如說(shuō)listview嵌在一個(gè)LinearLayout里面的話(huà),需要在代碼里面寫(xiě) mLinearLayout.addContentView(你的emptyview);否則的話(huà)是沒(méi)效果的。8.ListView設(shè)置FooterView?在調(diào)用setAdapter()之前調(diào)這個(gè)方法footerView可以單獨(dú)寫(xiě)點(diǎn)擊觸發(fā)事件,但是注意最好寫(xiě)在listview的 OnItemClickListener()里面,然后根據(jù)點(diǎn)擊的位置if(position == mListView.getCount - 1){"觸發(fā)footerview點(diǎn)擊事件"}如果是單獨(dú)給它一個(gè)View.onClickListener的話(huà),點(diǎn)擊是可以觸發(fā)事件的,但是沒(méi)有l(wèi)istview的item按下的變黃色效果。9.android 自定義listview無(wú)法響應(yīng)點(diǎn)擊事件OnItemClickListener如果你的自定義ListViewItem中有Button或者Checkable的子類(lèi)控件的話(huà),那么默認(rèn)focus是交給了子控件,而ListView 的Item能被選中的基礎(chǔ)是它能獲取Focus,也就是說(shuō)我們可以通過(guò)將ListView中Item中包含的所有控件的focusable屬性設(shè)置為 false,這樣的話(huà)ListView的Item自動(dòng)獲得了Focus的權(quán)限,也就可以被選中了我們可以通過(guò)對(duì)Item Layout的根控件設(shè)置其android:descendantFocusability=”blocksDescendants”即可,這樣Item Layout就屏蔽了所有子控件獲取Focus的權(quán)限,不需要針對(duì)Item Layout中的每一個(gè)控件重新設(shè)置focusable屬性了,如此就可以順利的響應(yīng)onItemClickListener中的onItemClick()方法了。
總結(jié)
以上是生活随笔為你收集整理的ListView部分样式属性设置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数字芯片的设计流程及其使用工具
- 下一篇: 计算机专业术语教案,计算机组成原理教案.