使用ActionBarSherlock制作ActionBar叠加。

3
最近几天我在开发方面做了很多好的东西,但是我好像遇到了一个可能很简单的问题。这很烦人。我希望我能得到一些帮助。
我正在尝试创建谷歌音乐中令人惊叹的透明ActionBar动画效果(如Cyril Mottier在这里中所述)。
问题是,我甚至无法将操作栏进入覆盖/透明模式。
我的设置是在Eclipse中进行的库导向设置。我有一个包含所有实际代码和活动的库项目(让我们称其为master)。然后我有一个项目,它只是插入到主库中(让我们称其为slave)。最后,有一些开源支持库,master使用其中之一是ActionBarSherlock。
我正在尝试将此效果应用于主库中的活动。它在slave的清单中声明为com.example.master.DetailActivity,这非常出色。
此外:活动的主题可能来自多个地方。可以通过从从属清单设置或在运行时由主控制器设置。主题可能来自主控制器或从属项目。
我尝试过的东西:
感觉像是一切。我开始创建一个基于Cyril文章的自定义主题。我确保对于每个项目,我都有一个带有和不带有android:前缀的版本,如{{link1:Jake Wharton's instructions}}所述。
我也尝试使用requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY)在运行时进行设置。
我得到了什么:
什么都没有。主题成功应用(我可以看到操作栏的颜色适当更改),但它从来没有进入叠加模式,也没有变成透明。
将非常感激您的帮助,并且对正在尝试此效果的其他人可能也有帮助。
编辑:
这是我的主题和样式。代码有点混乱,因为我一直在尝试它们,以查看我错在哪里。AppTheme和Theme.TranslucentActionBar.ActionBar.Overlay都不起作用。/ res / values /

/res/values-v11/

我正在使用安装了4.2.2版本的Nexus 4手机以及一个2.3.3版本的模拟器进行测试。


你是用Android Studio还是手动创建样式的方式来进行开发的? - Joel Bodega
我还没有转换到Studio,现在仍在使用Eclipse。因此,我正在手动创建它们(在res/values/res/values-v11中编辑themes.xmlstyles.xml)。 - Vic V
请分享您的styles.xml和themes.xml文件。如果没有看到这些文件,帮助起来会很困难。 - IncrediApp
在原帖中添加了4个pastebin。代码有点乱,但这是因为我已经多次更改以查看哪里出错了。@style/AppThemeTheme.TranslucentActionBar.ActionBar.Overlay都不起作用。 - Vic V
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.

这里只是摘要,代码中有很多行。顺序很重要。

我还发现滑动菜单好像阻塞了遮罩模式。为了让它正常工作,我不得不删除该实例。我还在寻找一种同时启用遮罩模式和滑动菜单的方法。


嗨,你成功地将 API 级别 9(2.3.3)的 ActionBar 设为透明了吗?请帮忙一下。 - Rat-a-tat-a-tat Ratatouille
@Rat-a-tat-a-tatRatatouille 你是指这个吗?https://developer.android.com/training/basics/actionbar/overlaying.html#Overlay7 - Rajkiran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接