【问题标题】:How to add padding/margin between icon and Up-Button of the ActionBar?如何在 ActionBar 的图标和向上按钮之间添加填充/边距?
【发布时间】:2013-09-07 08:08:19
【问题描述】:

我必须在默认操作栏(android 4.2.2)中将向上按钮和图标之间的边距设置为 10dp,在图标和标题之间设置 5dp,任何人都可以建议如何做到这一点。

我不想创建自定义操作栏,因为我的要求与默认操作栏完全相同,但会改变高度,以及图标、向上按钮和标题之间的填充。文字大小也会改变。

这可以使用默认操作栏来实现吗?我可以更改操作栏的高度。

【问题讨论】:

    标签: android android-actionbar android-homebutton


    【解决方案1】:

    您可以通过从 ActionBar 获取图标的 ImageView 来添加 padding / margin

    是这样的:

    ImageView icon = (ImageView) findViewById(android.R.id.home);
    FrameLayout.LayoutParams iconLp = (FrameLayout.LayoutParams) icon.getLayoutParams();
    iconLp.topMargin = iconLp.bottomMargin = 0;
    icon.setLayoutParams(iconLp);
    

    编辑:例如在您的 Activity 的 onCreate 方法中使用此代码。

    【讨论】:

    • 这个不支持 api10 :(
    • 其实应该的。你的“错误”信息是什么?什么不支持?
    • android.R.id.home 下面的黄线,如果我将鼠标悬停在它上面,我会得到“字段需要 API 级别 11(当前最小值为 10):android.R.id#home”顺便说一句我使用 sherlockactionbar
    • 是的,ActionBar 是在 API 10 中引入的,但主页图标只能在 API 11 或更高版本中引用。
    • 那么有什么办法可以改变那个边距吗?