如何在没有截断显示Android的动作条标题出现(How to display android ac

2019-07-22 18:18发布

我有一个相当长的标题(例如,我的长标题应用程序)的应用程序。 我使用的是动作条,发现应用程式的标题不断被截断(例如我的长标题A ...)。 发生这种情况即使显示2个操作栏项目(包括标记为“ifRoom”)。

有谁知道,如果有一种方法,以确保活动名称宽度接管“ifRoom”动作栏项目的优先级(即确保我的标题完整显示,用行动物品栏移动到下拉菜单中,如果需要更多的空间)?

非常感谢的人。

Answer 1:

不幸的是,不妨碍动作栏标题的截断方式。 你这样做,不过,有一些选项来释放一些空间在你的行动吧。你可以:

  1. 强制操作项目到溢出菜单。 如果您使用的是最新ActionBarSherlock(4.2.0),这是更难做到这一点。 看到这个答案使用4.2.0时的解决方法。 如果你觉得最新的版本是不需要的,你可以使用ABS 4.1.0。 在4.1.0,您只需设置您的活动主题@style/Theme.Sherlock.ForceOverflow 。 请注意,迫使溢出菜单不推荐,因为它提供了跨应用不一致的导航。
  2. 您可以使用拆分操作栏,并强制行动项目进入底部操作栏。 看看CommonsWare的答案在这里 。 对于拆分操作栏上的信息,请参见这里。


Answer 2:

我是有这个问题,很短的操作栏标题。 操作栏标题将被截断甚至5-6字符串省略号。

如果你有一个简短的标题(比如,“商店”),然后调用ActionBar.setTitle(<inputString or resId>)其中输入字符串长于之前的标题, TextView不会调整自己,让您的新标题室,即使ActionBar有足够的空间。

前(ShortTitle)

// now call setTitle() with a longer title
ActionBar actionBar = getActionBar();
actionBar.setTitle("Collin");

之后(ShortTitle)

将您setTitle()调用上onCreateOptionsMenu()

结果:



Answer 3:

此错误是当最后一个冠军是比新的更小造成的,因此关键是要做出最后的冠军总是长于新的setTitle。

即使在谷歌问题跟踪器有没有办法解决和发放情况现在已经过时。

更新:(解决方法)

getSupportActionBar().setTitle("");

getSupportActionBar().setTitle(title);


Answer 4:

我不知道是否有一个简单的方法,但有多种解决方法。

1)您可以强制酒吧深究,节省空间:

我怎样才能迫使操作栏是在ICS的底部?

http://developer.android.com/guide/topics/manifest/application-element.html

2)设置自定义字体的标题: https://stackoverflow.com/a/8748802/1276103

3)您可以设置标题为两行: https://stackoverflow.com/a/18867068/1276103



文章来源: How to display android actionbar title without truncation occurring