如图所示,做项目中通过运用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);
于是点击背景颜色就解决了,第二种方法适合所有