2014-02-20 3 views
10

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

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

ответ

8

У меня была такая же проблема. Существует много места, но 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); 
      } 
     } 
    }); 
} 
+0

Спасибо, это сработало –

6

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

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

Я делаю это в ParentActivity, расширенный всех деятельности мое заявление.

1

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

... 
    getActivity().runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      getActivity().setTitle(title); 
     } 
    }); 
    ... 
Смежные вопросы