2013-03-22 94 views
9

我有一個具有相當長標題的應用程序(例如我的長標題應用程序)。我使用了一個ActionBar,並注意到應用標題不斷被截斷(例如My Long Title A ...)。即使顯示2個動作欄項目(均標記爲「ifRoom」),也會發生這種情況。如何在不發生截斷的情況下顯示android操作欄標題

有誰知道是否有辦法確保活動標題寬度優先於'ifRoom'動作欄項目(即確保我的標題全部顯示,如果需要更多空間,動作欄項目移動到下拉菜單)?

非常感謝的人。

回答

1

不幸的是,沒有辦法阻止操作欄標題的截斷。但是,您可以選擇在行動欄中釋放一些空間。您可以:

  1. 強制您的操作項目進入溢出菜單。如果您使用的是最新的ActionBarSherlock(4.2.0),那麼執行此操作會更加困難。使用4.2.0時,請參閱此answer以瞭解解決方法。如果您覺得不需要最新的version,則可以使用ABS 4.1.0。在4.1.0上,您只需將活動主題設置爲@style/Theme.Sherlock.ForceOverflow即可。請注意,不推薦強制使用溢出菜單,因爲它會在應用程序間提供不一致的導航。
  2. 您可以使用拆分操作欄並將操作項強制到底部操作欄中。看看CommonsWare的回答here。有關拆分操作欄的信息,請參見here.
9

我遇到了很短的操作欄標題問題。即使使用5-6個字符的字符串,操作欄標題也會被省略。

如果你有一個簡短的標題(比如,「商店」),然後調用ActionBar.setTitle(<inputString or resId>)其中輸入字符串比以前的標題時間越長,TextView不會調整自己,讓您的新標題房間,即使ActionBar有充足的空間。

之前(ShortTitle)

short title, before

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

後(ShortTitle)

longer title, after

解決方案

移動你setTitle()呼叫onCreateOptionsMenu()

結果:

enter image description here

+0

我不明白,在這種情況下,它發生。它發生在我工作的一個大型項目上,但不在POC項目上,無論我從中拷貝多少。任何有關何時發生這種情況的見解? – 2017-12-11 14:53:04

3

此錯誤是當最後一個冠軍是比新的更小,因此關鍵是要做出最後的標題引起總是比新的setTitle長。

即使在Google Issue Tracker有沒有解決辦法和發放情況現在已經過時

更新:(解決方法)

getSupportActionBar()的setTitle( 「」);

getSupportActionBar()。setTitle(title);

相關問題