1.ListView/ScrollView之类可以滚动的控件,拖动到顶端和底端时上下尽头会有橘黄色(即默认焦点色)的光一闪表明到头了,这个颜色怎么改?2.TabHost的默认布局,标签栏的最下方会有跟选中的标签一样颜色的一条线(即标签栏和内容栏的分割线),这条线的样式如何更改?3.同样是TabHost,当按住某一个标签时,问题2里那条线也会变成橘黄色(即默认焦点色),这个颜色怎么改?

解决方案 »

  1.   

    回答第一个问题:listview和scrollview有这个属性。设置成透明就成了android:cacheColorHint="#00000000"
    第二个问题和第三个问题,没做过。不会
      

  2.   

    cacheColorHint 试过了,黄光依然有查了查,其作用如下:默认的ListItem背景是透明的,而ListView的背景是固定不变的,所以在滚动条滚动 的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了 android:cacheColorHint 的属性,在黑色主题下默认的颜色值是#191919,所以就出现整个View变暗的情况。解决这个问题只需要一行代码即可,如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的 颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了。
      

  3.   

    一:listview有一个方法,叫做a.addFooterView(v),你自己顶一个闪光的view,给填进去应该就可以了吧?
    二,三:其实那个一条线是tab背景图的效果,给每一个Tab设置一个背景,其中的背景应该用selector的形式。
      

  4.   

    5L我用addFooterView丢了一个空的ImageView进去,黄光仍然存在tab改背景试过了,无效,图如下:
      

  5.   

    自己顶下话说Android的界面有很多这类问题啊,API也不知该看哪里
      

  6.   

    1.android:cacheColorHint
    2.3.TabWidget中的view使用自建view
      

  7.   


    1.android:cacheColorHint无效,试过了2.我现在已经放弃TabHost,直接全用自定义View了...
      

  8.   

    这个要查看TabHost源码的具体实现,可能是framwork里面的。
      

  9.   

    看ListView源码,滚动到最上面胡子哦和最下面显示的黄色线应该是图片,
    有以下header和footer的定义
    Drawable mOverScrollHeader;
    Drawable mOverScrollFooter;final Drawable overscrollHeader = mOverScrollHeader;
    final Drawable overscrollFooter = mOverScrollFooter;drawOverscrollHeader(canvas, overscrollHeader, bounds);
    drawOverscrollFooter(canvas, overscrollFooter, bounds);例如画header的处理
                    // Draw top divider or header for overscroll
                    final int scrollY = mScrollY;
                    if (count > 0 && scrollY < 0) {
                        if (drawOverscrollHeader) {
                            bounds.bottom = 0;
                            bounds.top = scrollY;
                            drawOverscrollHeader(canvas, overscrollHeader, bounds);
                        } else if (drawDividers) {
                            bounds.bottom = 0;
                            bounds.top = -dividerHeight;
                            drawDivider(canvas, bounds, -1);
                        }
                    }
      

  10.   

    对于第一个问题,可以通过setOverScrollMode(View.OVER_SCROLL_NEVER)或者在xml中设置android:overScrollMode="never"解决。颜色被去掉了,但效果不一定是你想要的,因为滚动到尽头时没有提示效果了。详细可参考这里:
    关于android2.3的overscroll
    http://blog.csdn.net/zouxueping/article/details/6832805