我正在使用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 。我在主题中设置的1,即 custom_home 是不可见的。但是Icon已经向右移动了,好像它在左边给了我在主题中设置的图标空间(尽管不可见)。
这就是我现在所得到的:
那么,我怎样才能避免主页图标左侧的空白区域?
谢谢
答案 0 :(得分:21)
主题项android:homeAsUpIndicator
(以及homeAsUpIndicator
的{{1}})为up图标设置drawable - 这是指向左侧的小箭头,当您调用时,它会显示在应用程序图标旁边操作栏上显示ActionBarSherlock
。
up drawable的大小定义了app图标(徽标)的左边距。默认情况下,其尺寸为16dp x 16dp。如果你放在那里更宽的抽屉,屏幕边缘和应用程序图标之间的间隙会更宽,即使此时没有显示向上图标。
如果您想更改应用图标(徽标)。使用setDisplayHomeAsUpEnabled(true)
的{{1}}或setLogo(int)
方法。不要忘记拨打setLogo(Drawable)
- 此方法会在显示应用图标和自定义徽标之间切换。您还可以在ActionBar
和setDisplayUseLogoEnabled(true)
标记的属性android:logo
中的清单中定义徽标,并在主题中设置您要在操作栏中使用徽标而不是应用图标。