Эллипсис заголовка панели действий в 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);
}
});
...