10

我正在使用 ActionBar Sherlock 库。所以,要更改默认的主页按钮。我这样做了:

<style name="Theme.mTheme" parent="android:Theme.Sherlock.Light.DarkActionBar">
    <item name="android:homeAsUpIndicator">@drawable/custom_home</item>
</style>

这没有用

所以,我也添加了这个:

<item name="homeAsUpIndicator">@drawable/custom_home</item>

现在它的工作。我在每个 ActionBar 上都有这个自定义主页图标/按钮。但是在我的一项活动中,我在代码中有这个:

actionBar.setIcon(R.drawable.options_holo_dark);

当我在那个活动中时,我可以看到我以编程方式设置的图标,即options_holo_dark。我在 Theme 中设置的 1 即custom_home不可见。但是图标已经向右移动,就好像它在左侧给我在主题中设置的图标留出了空间(虽然不可见)。

这就是我现在得到的:

在此处输入图像描述

那么,如何避免主页图标左侧的空白区域?

谢谢你

4

1 回答 1

22

主题项android:homeAsUpIndicator(和homeAsUpIndicatorfor )为向上图标设置可绘制 - 这是当您在操作栏上ActionBarSherlock调用时显示在应用程序图标旁边的指向左侧的小箭头。setDisplayHomeAsUpEnabled(true)

up drawable 的大小定义了应用程序图标(徽标)的左边距。默认情况下,其尺寸为 16dp x 16dp。如果你放得更宽,屏幕边缘和应用程序图标之间的间隙会更宽,即使此时没有显示向上图标。

如果要更改应用程序图标(徽标)。的使用setLogo(int)setLogo(Drawable)方法ActionBar。不要忘记也调用setDisplayUseLogoEnabled(true)​​- 此方法在显示应用程序图标和自定义徽标之间切换。您还可以在清单的属性和标签中定义徽标android:logo,并在主题中设置要使用徽标而不是操作栏中的应用程序图标。<application><activity>

于 2013-01-03T14:30:19.527 回答