3

在过去的几天里,我一直在做一些很棒的开发工作,但我似乎在一些可能很愚蠢的事情上碰壁了。这很烦人。我希望我能得到一些帮助。

我正在尝试做的事情

我正在尝试从 Google Music 创建令人敬畏的透明 ActionBar 动画效果(如 Cyril Mottier所述

问题

我什至无法让操作栏进入覆盖/透明模式。

我的设置

我在 Eclipse 中有一个面向库的设置。我有一个包含所有实际代码和活动的库项目(我们称之为 master)。然后我有一个项目,它只是插入到主库中(我们称它为从库)。最后,还有一些大师使用的开源支持库(其中包括 ActionBarSherlock)。

我试图应用此效果的活动在主库中。它在奴隶的清单中被声明为com.example.master.DetailActivity,这就像一个魅力。

另外:活动的主题可能来自多个地方。它要么由从属的清单设置,要么由主控在运行时设置。主题可能来自主项目或从项目。

我试过的

感觉什么都有。我首先根据 Cyril 的文章创建了一个自定义主题。android:我确保按照Jake Wharton 的说明,对于每个项目,我都有一个带前缀和不带前缀的版本。

我也尝试在运行时使用requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);

我有什么

没有什么。主题应用成功(我可以看到操作栏的颜色发生了适当的变化),但它永远不会进入覆盖模式,也不会变得透明。

帮助将不胜感激,并且可能有助于其他人尝试这种效果。

编辑:

这是我的主题和风格。代码有点乱,因为我一直在用它们做实验,看看我哪里出错了。AppTheme两者Theme.TranslucentActionBar.ActionBar.Overlay都行不通。/res/值/

/res/values-v11/

我正在安装 4.2.2 以及 2.3.3 模拟器的 Nexus 4 上进行测试。

4

1 回答 1

6

好的,很明显,在我的设置下,你不能使用主题来做到这一点。

我最终这样做了,像这样在全球范围内。

setTheme(theme.whatever);
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
super.onCreate(savedInstanceState);
setContentView(R.layout.content);
getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.color)); // This is #212121 solid color for the dark action bar.

这些行分布在我的代码中,但这是它的要点。顺序很重要。

我还发现滑动菜单似乎阻止了覆盖模式。我必须删除实例才能使其工作。我仍在寻找一种同时启用覆盖模式和滑动菜单的方法。

于 2013-05-26T14:49:38.767 回答