使用ActionBarSherlock制作ActionBar叠加层

时间:2013-05-25 09:29:21

标签: android android-actionbar actionbarsherlock libraries

过去几天我一直在开发中做得很好,但我似乎已经碰到了一些可能很简单的东西。它很烦人。我希望能得到一些帮助。

我正在尝试做什么

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

问题

我甚至无法让操作栏进入叠加/透明模式。

我的设置

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

我正在尝试将此效果应用于主库中的活动。它在奴隶的清单中被宣告为com.example.master.DetailActivity,它就像一个魅力。

另外:活动的主题可能来自几个地方。它可以由slave的清单设置,也可以由master在运行时设置。主题可能来自主人或奴隶项目。

我尝试了什么

感觉就像一切。我首先创建了一个基于Cyril文章的自定义主题。我确保每个项目都有android:前缀为requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);前缀的版本Jake Wharton's instructions

我也尝试使用AppTheme

在运行时设置它

我得到了什么

无。主题成功应用(我可以看到动作栏的颜色适当改变),但它永远不会进入叠加模式,也不会变得透明。

非常感谢帮助,并且可能对其他人尝试这种效果有所帮助。

编辑:

这是我的主题和风格。代码有点乱,因为我一直在试验它们,看看我哪里出错了。 Theme.TranslucentActionBar.ActionBar.Overlay和{{1}}都不起作用。 / RES /值/

/ RES /值-V11 /

我正在测试安装了4.2.2的Nexus 4以及2.3.3仿真器。

1 个答案:

答案 0 :(得分: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.

这些行分布在我的代码上,但这是它的要点。订单很重要。

我还发现滑动菜单似乎阻止了叠加模式。我不得不删除它的实例才能工作。我仍在寻找一种启用叠加模式和滑动菜单的方法。