相关疑难解决方法(0)

透明动作栏:自定义tabcolor

我想创建一个带有透明标签的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本身确实显示透明的背景颜色,但标签是完全透明的(没有颜色可见).

我怎么解决这个问题?

android actionbarsherlock

62
推荐指数
4
解决办法
7万
查看次数

选项卡上的Android导航抽屉

我正在使用支持库中提供的新导航抽屉.使用抽屉和标签时,抽屉菜单将显示在标签下方,如下所示.如何确保选项卡上显示抽屉菜单.(它应该显示抽屉菜单,好像没有标签)

没有标签的抽屉菜单 在此输入图像描述

带标签的抽屉菜单

在此输入图像描述

tabs android android-actionbar navigation-drawer

26
推荐指数
2
解决办法
4万
查看次数

ActionbarSherlock:长按动作项目显示Toast?

长按操作项时,操作项下方会显示没有文本的Toast.我可以禁用Toast吗?谢谢.

android long-click toast actionbarsherlock

8
推荐指数
1
解决办法
2324
查看次数

Espresso - 如何匹配 ActionBar 的可见性?

我试图做一个 Espresso 测试来检查 actionbar 是否隐藏/显示,但我似乎无法弄清楚如何将它与 Espresso.onView(...) 匹配。Afaik它没有ID,对吧?

非常感谢

android-actionbar android-espresso

6
推荐指数
1
解决办法
808
查看次数

Android:在ActionBar中隐藏导航微调器的安全方法?

我想在我的ActionBar中显示一个微调器,使用ActionBar.NAVIGATION_MODE_LIST,但我希望它基于一些应用程序上下文隐藏/显示.我发现我可以将它从ActionBar中移除getActionBar().setNavigationMode(-1),但我不知道这是不是一个好主意.

关于这是否安全或是否有更安全的替代方案的任何反馈?

android

3
推荐指数
1
解决办法
3580
查看次数

获取 v7 兼容 ActionBarContainer

作为我正在开发的应用程序的一部分,我试图获取对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)

在被问到之前先回答几个问题:

  1. resId 在 v11 及更高版本的设备上解析为正确的 ID 值,但在 v11 之前的设备上解析为 0。
  2. 使用它的代码有适当的检查来处理空结果,这就是为什么我只是吃异常。try/catch 块主要是为了以防万一,因为一些奇怪的事件, aClassCastException …

android android-actionbar-compat

0
推荐指数
1
解决办法
1063
查看次数