【问题标题】:Make ActionBar overlay using ActionBarSherlock使用 ActionBarSherlock 制作 ActionBar 覆盖
【发布时间】:2013-05-25 09:29:21
【问题描述】:

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

我要做什么

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

问题

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

我的设置

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

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

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

我的尝试

感觉就像一切。我首先根据 Cyril 的文章创建了一个自定义主题。我确保根据Jake Wharton's instructions,对于每个项目,我都有一个带有和不带有android: 前缀的版本。

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

我有什么

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

非常感谢您的帮助,并且可能会对其他人尝试此效果有所帮助。

编辑:

这是我的主题和风格。代码有点乱,因为我一直在用它们做实验,看看我哪里出错了。 AppThemeTheme.TranslucentActionBar.ActionBar.Overlay 都不起作用。 /res/values/

/res/values-v11/

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

【问题讨论】:

  • 您是用哪种方式创建样式的? Android Studio 还是手动?
  • 我还没有切换到 Studio。目前仍在使用 Eclipse。所以我手动创建它们(在res/values/res/values-v11 中编辑themes.xmlstyles.xml
  • 分享你的styles.xml和themes.xml。没有看到这些,试图提供帮助是很困难的
  • 在原始帖子中添加了 4 个粘贴箱。代码有点乱,但那是因为我已经对它们进行了很多更改以查看哪里出错了。 @style/AppThemeTheme.TranslucentActionBar.ActionBar.Overlay 都不起作用。

标签: android android-actionbar actionbarsherlock libraries


【解决方案1】:

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

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

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.

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 1970-01-01
相关资源
最近更新 更多