1. 程式人生 > >android中如何去掉pulltorefreshlistview點選item時的背景顏色,與item外邊距設定

android中如何去掉pulltorefreshlistview點選item時的背景顏色,與item外邊距設定

如圖所示,做專案中通過運用pulltorefreshlistview下拉重新整理元件實現item與邊有一定距離的效果圖,如下圖所示,item內容我已清除。

通過

com.handmark.pulltorefresh.library.PullToRefreshListView中custom:ptrRefreshableViewBackground=“”屬性可以設定ListView的背景圖,我用的是.9圖片,圖片與外邊距可通過padding或margin設定,但item與圖片邊的距離如何設定就是一個問題。

PS:大多數人往往會想到在item中設定外邊距,也就是marginRight和marginLeft,但事實上是不可以的,這個做法在ListView顯示中沒有效果

解決辦法,item外巢狀一層
<RelativeLayout  android:layout_width="wrap_content"  android:layout_height="wrap_content"
android:paddingRight="12dp"  android:paddingLeft="12dp"

></RelativeLayout>

然後再將item放到listView中即可解決問題,但問題又來了,點選Item時外邊會顯示整個item背景顏色,

解決辦法:

1.如果用ListView做的可以設定android:listSelector=
""

2.用第三方比如比如PullToRefreshListView 有可能沒有這個屬性android:listSelector=""

1>新建一個xml檔案

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/color_item_background" android:state_selected="true"></item> <item android:drawable="@color/color_item_background" android:state_selected="false"></item> </selector>
2> 
	if (viewHolder == null) {
	} else {
    		viewHolder = (ViewHolder) convertView.getTag();
	}
convertView.setBackgroundResource(R.drawable.bg_item_selector);


於是點選背景顏色就解決了,第二種方法適合所有