【问题标题】:ActionBarSherlock Item Icon strange width with Android 4.3ActionBarSherlock Item Icon 奇怪的宽度与Android 4.3
【发布时间】:2013-11-24 21:04:23
【问题描述】:

我正在使用 ActionBarSherlock 开发应用程序

菜单中的一项是矩形图像。查看它的 xml:

<item
    android:id="@+id/kapturar_action"
    android:showAsAction="always"
    android:icon="@drawable/camera_action_icon"
    android:title="@string/kapturar" />
<item

到目前为止一切顺利。 问题是 SDK 4.3 似乎只接受方形图像(这是我的假设,我不确定)并且图标以一种奇怪的方式显示,保留了看起来是“最大宽度”属性的东西。

查看打印屏幕

Android 2.2 - 模拟器:

Android 4.1.2 - 三星 Galaxy S3 Mini:

Android 4.3 - Nexus 4:

我仔细检查了drawables,我认为一切都是正确的。我已经定义了 MDPI、HDPI 和 XHDPI 图像。

任何人都可以肯定在菜单项中使用矩形可绘制对象是不可能的吗?有没有办法解决 Android 4.3 中保留向后兼容的问题?

【问题讨论】:

  • 再次检查drawable,在再次安装之前,清理并重建你的项目
  • 又这样做了,什么也没做。 :(
  • 解决方法怎么样:制作一个您想要的布局,然后以编程方式将其添加到ActionBar
  • 因为它是一个按钮,而不仅仅是一个视图。
  • 你尝试过 ActionBar Compat 吗?

标签: android android-layout android-actionbar actionbarsherlock


【解决方案1】:

Action Bar Sherlock 现在是 deprecated,因为 Google 发布了自己的 Action Bar compatibility library

我强烈建议切换到那个官方库,我猜/希望你的问题不会出现在那里。

【讨论】:

  • 是的,Jake Wharton 表示将随着 ABS 的未来发展而停止。
  • @NikolaDespotoski 你能指出杰克在哪里说的吗?谢谢!
【解决方案2】:

您可以简单地使用 ActionBar 的兼容版本。这不是很好的答案,但它会帮助你。

让它只是注释行

registerImplementation(ActionBarSherlockNative.class);

在 ActionBarSherlock 类中。

此外,在此之后,您可以在 ActionBarSherlock 中编辑源、资源,它们在 Android 2.3 和 Android 4.0+ 设备上的外观相同。

【讨论】:

    【解决方案3】:

    尝试将您的可绘制对象放入另一个文件夹。我的意思是,如果它在 drawable-xhdpi 文件夹中,请将其放入 drawable-hdpi (或其他)。 有时它解决了从资源中调整图像大小的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多