我想创建一个带有透明标签的ActionBar #3b000000.像这样的东西,但在ActionBar下面有标签:
这是我在styles.xml中使用的代码:
<style name="Theme.MyTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/ActionBar</item>
<item name="windowActionBarOverlay">true</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="@style/Widget.Sherlock.Light.ActionBar">
<item name="android:background">@color/actionbar</item>
<item name="background">@color/actionbar</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle</item>
</style>
<style name="ActionBarTabStyle" parent="@style/Widget.Sherlock.ActionBar.TabView">
<item name="background">@color/actionbar_tabs</item>
<item name="android:background">@color/actionbar_tabs</item>
</style>
Run Code Online (Sandbox Code Playgroud)
会发生什么,ActionBar本身确实显示透明的背景颜色,但标签是完全透明的(没有颜色可见).
我怎么解决这个问题?
我正在使用支持库中提供的新导航抽屉.使用抽屉和标签时,抽屉菜单将显示在标签下方,如下所示.如何确保选项卡上显示抽屉菜单.(它应该显示抽屉菜单,好像没有标签)
没有标签的抽屉菜单

带标签的抽屉菜单

长按操作项时,操作项下方会显示没有文本的Toast.我可以禁用Toast吗?谢谢.
我试图做一个 Espresso 测试来检查 actionbar 是否隐藏/显示,但我似乎无法弄清楚如何将它与 Espresso.onView(...) 匹配。Afaik它没有ID,对吧?
非常感谢
我想在我的ActionBar中显示一个微调器,使用ActionBar.NAVIGATION_MODE_LIST,但我希望它基于一些应用程序上下文隐藏/显示.我发现我可以将它从ActionBar中移除getActionBar().setNavigationMode(-1),但我不知道这是不是一个好主意.
关于这是否安全或是否有更安全的替代方案的任何反馈?
作为我正在开发的应用程序的一部分,我试图获取对ActionBar的容器视图的引用。我使用了这个问题的答案,只要有问题的 Android 设备运行 API 级别 11 或更高级别,它就可以很好地为我工作。但是,该应用程序需要在 API 级别 9(目标 API 级别为 19)之前工作,并且 Gingerbread 设备给我带来了问题。我最初在该项目中使用 Sherlock,但最近改为使用 v7 兼容库。我可以在 Gingerbread 设备(按钮工作等)上以正常方式查看操作栏并与之交互,但是当我尝试获取容器时它失败了。我正在使用的代码是这样的(注意 - 它在 的子类中运行ActionBarActivity):
private FrameLayout getActionBarContainer() {
FrameLayout result = null;
int resId = getResources().getIdentifier("action_bar_container", "id", "android");
try {
result = (FrameLayout)getWindow().getDecorView().findViewById(resId);
}
catch (Exception e) {
// If we get an exception, just eat it
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
在被问到之前先回答几个问题:
ClassCastException …