Эллипсис заголовка панели действий в Android

У меня есть многоточие в заголовке панели действий в приложении для Android, хотя длина в пределах 10-15 символов. Я использую Navigation Drawer, и он работает нормально, но после нескольких переключений он добавляет многоугольник в заголовок.

Я не использовал какой-либо пользовательский xml для форматирования моей панели действий. Как удалить этот многоточие? Какой стиль/параметр следует использовать, чтобы удостовериться, что он никогда не эллипсирует название?

Ответ 1

У меня была такая же проблема. Существует много места, но TextView, который содержит текст заголовка, не изменяет размер, чтобы соответствовать его новому текстовому контенту. Это решает мою проблему:

protected Handler mUiHandler = new Handler(Looper.getMainLooper());

protected void setActionBarTitle(final CharSequence title, final boolean showHomeAsUp)
{
    mUiHandler.post(new Runnable()
    {
        @Override
        public void run()
        {
            Activity activity = getActivity();
            if(activity != null){
                ActionBar ab = activity.getActionBar();
                ab.setDisplayHomeAsUpEnabled(showHomeAsUp);
                ab.setDisplayShowTitleEnabled(false);
                activity.setTitle(title);
                ab.setDisplayShowTitleEnabled(true);
            }
        }
    });
}

Ответ 2

Упрощая ответ Саймона, вы можете просто переопределить метод setTitle своих действий с помощью этого:

@Override
public void setTitle(final CharSequence title) {
    new Handler(Looper.getMainLooper()).post(new Runnable() {
        @Override
        public void run() {
            MyActivity.super.setTitle(title);
        }
    });
}

Я делаю это в ParentActivity, который расширяется всеми действиями моего приложения.

Ответ 3

Немного отличается/проще, но с той же идеей, которая работала для меня:

    ...
    getActivity().runOnUiThread(new Runnable() {
        @Override
        public void run() {
            getActivity().setTitle(title);
        }
    });
    ...