我有一个标题相当长的应用程序(例如我的长标题应用程序)。我正在使用ActionBar并注意到应用程序标题一直被截断(例如我的长标题A ...)。即使显示了2个操作栏项(均标记为“ifRoom”),也会发生这种情况。
有没有人知道是否有办法确保活动标题宽度优先于'ifRoom'操作栏项目(即确保我的标题显示完整,操作栏项目移动到下拉菜单,如果需要更多空间) ?
非常感谢人们。
答案 0 :(得分:9)
我用非常短的动作栏标题来解决这个问题。即使使用5-6个字符串,操作栏标题也会被省略号截断。
如果你有一个简短的标题(例如&#34; Shop&#34;),然后调用ActionBar.setTitle(<inputString or resId>)
,其中输入字符串比前一个标题长,TextView
将不会自己调整大小即使ActionBar
有足够的空间,也要给你新的标题空间。
// now call setTitle() with a longer title
ActionBar actionBar = getActionBar();
actionBar.setTitle("Collin");
在setTitle()
onCreateOptionsMenu()
来电
结果:
答案 1 :(得分:4)
当最后一个标题小于新标题时会导致此错误,因此诀窍是使最后一个标题始终比新setTitle长。
即使在Google Issue Tracker中也没有解决方案,问题状态现在已过时。
更新:(解决方法)
getSupportActionBar().setTitle("");
getSupportActionBar().setTitle(title);
答案 2 :(得分:1)
不幸的是,没有办法阻止截断操作栏标题。但是,您可以选择在操作栏中释放一些空间。您可以:
答案 3 :(得分:0)
我不确定是否有一种简单的方法,但有多种解决方法。
1)您可以强制栏到底并节省空间:
How can I force the Action Bar to be at the bottom in 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