我的应用程序使用了android.support.v7.widget.ListViewCompat
,我试图制作" Overscroll"预备棒棒糖和棒棒糖的效果相同。
在棒棒糖前,Overscroll有Holo-blue
颜色,在Lollipop及以上,它使用colorPrimary属性。
我在SO上找到的大多数相关答案都非常复杂(我认为这应该是一个单行,在App主题中更可取)或者" borks"棒棒糖的默认效果,看起来很奇怪。
那么我可以写一下在棒棒糖前设备上将套印颜色设置为colorPrimary吗?
我的style.xml(App Theme)文件目前包含
<item name="colorPrimary">@color/my_green</item>
<item name="colorPrimaryDark">@color/my_forest</item>
<item name="colorAccent">@color/my_soil</item>
<item name="colorControlNormal">@color/my_green</item>
<item name="colorControlActivated">@color/my_forest</item>
<item name="colorControlHighlight">@color/white</item>
我也觉得很奇怪,在棒棒糖前的ListView中选择项目时使用colorControlHighlight
颜色,但默认为holo-orange
颜色。
答案 0 :(得分:0)
Glow取自R.drawable.overscroll_edge,所以我猜你无法轻易取代它。用自定义drawable替换EdgeEffect类会更容易。参见:
所以也许这就是你要找的东西:
不幸的是,这是真正隐藏的东西,你无法在没有反射的情况下获得那种光芒。上面的截图是在Gingerbread上拍摄的,所以如果你不害怕黑客攻击,那么它是可能的。代码很长,所以我不会在这里粘贴它。您可以在Carbon的ScrollView和RecyclerView类中找到实现。没有ListView(它现在被RecyclerView取代),但你也应该能够正常工作。这是Lollipop发光套装的边缘效果副本,所以看起来应该是这样的。
https://github.com/ZieIony/Carbon/blob/master/carbon/src/main/java/carbon/widget/RecyclerView.java