我一直在尝试搜索最近几个小时的东西并且没有在哪里,所以我想我会在这里问。
基本上,Honeycomb版本的Gmail在其右侧有一个列表视图的消息列表,当您滚动列表视图时,项目位于动作栏下方,其上显示有某种形式的渐变,底部为#00FFFFFF
在顶部向上#FFFFFFFF
,给人以淡出物品的印象。
但是他们需要注意的重要一点是listview上的SCROLLBAR永远不会出现在ActionBar下面!列表视图的默认顶部位置位于滚动条下方。
我试图为我的应用程序实现一个类似的样式布局,其滚动视图滚动到动作栏下面,上面有一个alpha设置,它看起来很好但是滚动条也在下面! :(它使它看起来有点奇怪,它不是一个不错的选择。
到目前为止,我已经使用
实现了目标getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
和
getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_bg));
这是一个XML drawable,其颜色只有#BB000000
(暂时没有渐变)
这是当前效果,可以在操作栏下方看到滚动条:(
这是预期的效果,滚动条永远不会进入操作栏,但内容会在其下方向上滚动
编辑:我认为这可能会使用谷歌定制的东西,并且已经完全放弃了搞清楚
答案 0 :(得分:2)
在活动的onCreate
中super.onCreate(savedInstanceState);
之前调用此内容
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
更多:http://developer.android.com/reference/android/view/Window.html#FEATURE_ACTION_BAR_OVERLAY
答案 1 :(得分:1)
我看不出这样做的简单方法,但我提出了两种可能的解决方案。可能有一个更好的选择,我看不清楚。
第一个也是最简单的方法是为ActionBar创建一个9patch背景文件,它在右侧有一个扩展的渐变区域和一个固定的不透明区域,与滚动条的同一侧。这样滚动条仍然会在ActionBar下面,但它会被隐藏。但是它会使滚动条的影响消失/变小。
另一种选择是在xml中编辑滚动条拇指,如下所示:
<ListView android:scrollbarThumbVertical="@drawable/YOUR_CUSTOM_THUMB" ></ListView>
然后创建一个顶部带有透明偏移的滚动条缩略图。
考虑一下我认为第二种选择可能是最好的选择,并会给你最好的结果。我意识到这是一个非常糟糕的黑客。查看代码执行方式,我认为您必须扩展许多类并覆盖大量方法。
答案 2 :(得分:0)
只需使用:
getActionBar().setBackgroundDrawable(null);