带有透明操作栏的Gmail平板电脑样式滚动条

时间:2011-10-21 13:26:00

标签: android scrollview

我一直在尝试搜索最近几个小时的东西并且没有在哪里,所以我想我会在这里问。

基本上,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(暂时没有渐变)

这是当前效果,可以在操作栏下方看到滚动条:(

Current effect

这是预期的效果,滚动条永远不会进入操作栏,但内容会在其下方向上滚动

Desired effect

编辑:我认为这可能会使用谷歌定制的东西,并且已经完全放弃了搞清楚

3 个答案:

答案 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);