您的位置:首页 > 移动开发 > Android开发

android中如何去掉pulltorefreshlistview点击item时的背景颜色,与item外边距设置

2016-10-09 15:10 981 查看

如图所示,做项目中通过运用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);

于是点击背景颜色就解决了,第二种方法适合所有
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: