10

かなり長いタイトルのアプリを持っています (例: My Long Title App)。私は ActionBar を使用していますが、アプリのタイトルが切り捨てられ続けていることに気付きました (例: My Long Title A...)。これは、2 つのアクション バー アイテム (どちらも「ifRoom」とマークされています) が表示されている場合でも発生します。

アクティビティ タイトルの幅が「ifRoom」アクション バー アイテムよりも優先されるようにする方法があるかどうかは誰にもわかりません (つまり、タイトルが完全に表示され、より多くのスペースが必要な場合はアクション バー アイテムがドロップダウン メニューに移動するようにします)。

多くの人に感謝します。

4

4 に答える 4

9

非常に短いアクションバーのタイトルでこの問題が発生していました。アクション バーのタイトルは、5 ~ 6 文字の文字列でも省略記号で切り捨てられます。

短いタイトル ("Shop" など) がActionBar.setTitle(<inputString or resId>)ある場合、入力文字列が以前のタイトルよりも長い場所で呼び出しを行うと、に十分なスペースがあるTextView場合でも、新しいタイトルのスペースを確保するために はサイズを変更しません。ActionBar

前 (短いタイトル)

短いタイトル、前

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

After (ShortTitle)

長いタイトル、その後

解決

通話setTitle()を開始するonCreateOptionsMenu()

結果:

ここに画像の説明を入力

于 2014-09-07T00:30:21.967 に答える
5

このバグは、最後のタイトルが新しいタイトルよりも小さい場合に発生するため、常に最後のタイトルを新しい setTitle よりも長くするのがコツです。

Google Issue Trackerでさえ解決策がなく、問題のステータスは Obsolete になっています。

更新:(回避策)

getSupportActionBar().setTitle("");

getSupportActionBar().setTitle(title);
于 2015-08-05T05:32:25.067 に答える
1

残念ながら、アクション バーのタイトルの切り捨てを防ぐ方法はありません。ただし、アクション バーのスペースを解放するオプションがいくつかあります。次のいずれかを実行できます。

  1. アクション アイテムをオーバーフロー メニューに強制します。最新の ActionBarSherlock(4.2.0) を使用している場合、これを行うのは非常に困難です。4.2.0 を使用する場合の回避策については、この回答を参照してください。最新バージョンが必要ないと思われる場合は、ABS 4.1.0 を使用できます。4.1.0 では、アクティビティのテーマを に設定しただけです@style/Theme.Sherlock.ForceOverflow。オーバーフロー メニューを強制することは、アプリ間で一貫性のないナビゲーションを提供するため、お勧めできません。
  2. 分割アクション バーを使用して、アクション アイテムを下部のアクション バーに強制することができます。ここで CommonsWare の回答をご覧ください。分割アクション バーについては、こちらを参照してください。
于 2013-03-22T18:09:27.603 に答える
0

簡単な方法があるかどうかはわかりませんが、複数の回避策があります。

1) バーを強制的に下に移動させ、スペースを節約できます。

ICS でアクション バーを強制的に一番下に表示するにはどうすればよいですか?

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

2) カスタム フォントでタイトルを設定します: https://stackoverflow.com/a/8748802/1276103

3) タイトルは 2 行で設定できます: https://stackoverflow.com/a/18867068/1276103

于 2014-01-14T16:56:05.653 に答える