zoukankan      html  css  js  c++  java
  • listview cacheColorHint,listSelector属性

    ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,
    原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,
    要改变这种情况,只需要调用listView的setCacheColorHint(0),颜色值设置为0
    或者xml文件中listView的属性 Android:cacheColorHint="#00000000"即可,
    滚动时,重绘View的时候就不会有背景颜色。
     android:listSelector="#00000000"

    进行上面的设置之后,ListView点击item时就没有任何现象了,

    android:listSelector="@null"不可以实现。
    自定义listview的时候,当你不使用android:cacheColorHint=“#00000000”会出现下面选中一个空间黑色底色的情况,破坏整体美观度:
    当你不使用android:listSelector属性,默认会显示选中的item为橙黄底色,有时候我们需要去掉这种效果:

    listview 拖动 背景图 显隐 

    <!-- 最后一条item所在的位置会闪烁 -->
        
                <ListView
                    android:id="@+id/recommand_app_list"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_below="@id/recommands_list_view_header_divider"
                    android:fadingEdge="none"
                    android:scrollbars="none"
                    android:scrollingCache="true" > 
                </ListView> 
    <!--修复问题: 最后一条item所在的位置会闪烁 -->
        
                <ListView
                    android:id="@+id/recommand_app_list"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_below="@id/recommands_list_view_header_divider"
                    android:background="@drawable/ic_content_bg_repeat"
                    android:divider="@drawable/ic_list_divider_repeat"
                    android:dividerHeight="1dp"
                    android:fadingEdge="none"
                    android:persistentDrawingCache="none"
                    android:scrollbars="none"
                    android:scrollingCache="false"
                    android:smoothScrollbar="true" > 
                </ListView>

    ListView是一个经常要用到的android控件,现总结遇到过的一些美化的小细节。

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

    解决:在XML中加入

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

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

    解决: android:fadingEdge=”none”

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

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

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

    4、lsitview的每一项之间需要设置一个图片做为间隔

    解决: android:divider=”@drawable/list_driver”

     
     
     
     
  • 相关阅读:
    Python中CreateCompatibleDC和CreateBitmap造成的内存泄漏
    POJ 2420 模拟退火
    LR(1)分析表-语法树-四元式
    C语言文法
    计蒜客 18018 热爱工作的蒜蒜 最短路+dp
    HDU 5988 最小费用流
    POJ 1808 平方剩余
    POJ 2115 单变元模线性方程
    计蒜客 17414 Exponial 指数降幂公式
    计蒜客 17412 Card Hand Sorting 最长公共子序列
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4223100.html
Copyright © 2011-2022 走看看