【问题标题】:Android action bar home button not including activity titleAndroid 操作栏主页按钮不包括活动标题
【发布时间】:2013-11-04 13:59:19
【问题描述】:

我正在使用我的 IM 应用程序的主 Activity 的主页按钮来允许用户更改他们的可用性状态。我的应用正在使用 ActionBarSherlock,它回退到支持的本机实现。

但是,可点击区域的大小在 Android 版本之间不一致:

在Android 4.2.0及之前(包括兼容库),只有图标是可点击的:

在 Android 4.2.1+ 上,图标和活动名称是可点击的:

如何让可点击区域在所有 Android 版本上始终包含图标活动标题?

【问题讨论】:

    标签: actionbarsherlock android-actionbar-compat


    【解决方案1】:

    我正在使用 ActionBarCompat(如果你还没有更新的话,你应该更新一下),所以它的行为可能不完全相同。我希望完整的标题可以点击以使用导航抽屉。出于某种原因,使用自定义徽标而不是文本会使整个内容自动点击,之前只能点击图标:

    final ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayUseLogoEnabled(true);
    actionBar.setLogo(R.drawable.im_title);
    

    我不知道是否可以在仍然使用带有默认图标的文本的同时触发该更改,但是 setDisplay... 方法和标志可能是开始寻找的好地方。

    【讨论】:

    • 看起来 Logo 和 Item 是等价的,只是允许使用更宽的 Logo。它不会使标题文本可点击,出于显而易见的原因,我不想将标题文本设为图像。
    • 有道理......但不幸的是,这是一个直到 4.2.1 才修复的错误(或行为改变),修复它需要在 ActionBarSHerlock / ActionBarCompat 中进行一些黑客攻击.我能想到的最好的方法是有一个透明的徽标图像和一个负填充,以确保文本从透明图像的左边缘开始,就好像它不存在一样(点击捕获除外)。您可能能够在 ABS 中找到对填充/边距的访问,但不是 ABS 或本机实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多