ListView布局、美化、点击

布局文件

<ListView
android:id="@+id/id_send_gift_pop_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="1px"
android:layout_marginRight="1px"
android:background="@color/transparent"
android:cacheColorHint="@drawable/transparent"
android:divider="@color/transparent"
android:fadingEdge="none"
android:fadingEdgeLength="0px"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:listSelector="@color/transparent"
android:padding="0dp" />

list_item

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/view"
android:background="@drawable/list_bg"
android:orientation="vertical" >
<!-- android:descendantFocusability="blocksDescendants"
 -->
<TextView
android:id="@+id/info"
android:text="default"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="20dp" />

<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:gravity="center"
android:textSize="18sp"
android:textColor="#ff0000"
android:text="send"
android:layout_marginRight="20dp" />

</RelativeLayout>

对于事件的响应

如果选用listView自带的方法onItemClick,在布局文件中如果有子控件可以获得焦点的情况下,那么OnItemClick将会失效。
解决方法是在子布局的根下添加属性:**

android:descendantFocusability="blocksDescendants"

摈弃ListView onItemClick方法的做法是将布局的根Id和单独的需要监听的操作分别设置监听。

解惑

android:footerDividersEnabled
android:headerDividersEnabled

这里两个属性都只对HeaderView和FooterView有效,如果你没有在ListView加入HeaderView或者FooterView,无论设置什么值,都是没有作用的。如果ListView的高度是fill_parent,那么当Item很少,而没有能填满ListView的高度的时候,底部就会出现分割线。反之,如果ListView的高度是wrap_content,那么ListView的高度就是随着Item的增多而变高的,最后一行的Item始终是达到了ListView的底部,也就不会出现分割线了。

美化

1、listview在拖动的时候背景图片消失变成黑色背景,等到拖动完毕我们自己的背景图片才显示出来

解决:在XML中加入

android:scrollingCache=”false” 或 android:cacheColorHint=”#00000000″

2、listview的上边和下边有黑色的阴影

解决: android:fadingEdge=”none”

3、修改listview的Item默认选择时的黄色背景

解决:在java文件中使用listview.setSelector()方法,或使用如下代码

android:listSelector="#00000000"//这样写是透明的,也可加入Drawable图片

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值