2014-02-19 1 views
0

Я просмотрел по всему Интернету и не нашел ответа. Есть ли способ центрировать текст в строке заголовка приложения, не создавая настраиваемую строку заголовка? Если да, то как мне это сделать?Центрирование текста в строке заголовка приложения для Android.

Благодарим за помощь!

ответ

1
ViewGroup decorView= (ViewGroup) this.getWindow().getDecorView(); 
LinearLayout root= (LinearLayout) decorView.getChildAt(0); 
FrameLayout titleContainer= (FrameLayout) root.getChildAt(0); 
TextView title= (TextView) titleContainer.getChildAt(0); 
title.setGravity(Gravity.CENTER); 

Добавить этот код в onCreate() вашей деятельности.

+0

Когда я добавил свой код, я смог запустить приложение на эмуляторе, но не на устройстве. Знаете ли вы, почему? Спасибо. – user3280350

+0

какая ошибка вы получаете? – Diffy

+0

он просто не открывался по телефону и говорит «к сожалению, приложение остановилось» – user3280350

0

Установить стиль вашего заголовка ActionBar в файле styles.xml как,

<item name="android:actionBarStyle">@style/MyActionBar</item> 

в MyActionBar,

<style name="MyActionBar" 
     parent="@style/Widget.Holo.ActionBar"> 
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item> 
</style> 

где MyActionBarTitleText есть

<style name="MyActionBarTitleText" 
     parent="@style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:gravity">center</item> 
    //and you can add many more customization here like textColor etc 
</style> 

Вот google's doc.

+0

Это, похоже, много работы для центрирования. :) Хорошо, спасибо и @ user3292108! Я попробую их. – user3280350

+0

Yup на первый взгляд, но по мере того, как вы знакомы, вы просто продолжаете настраивать панель действий, поскольку она дает такую ​​гибкость. :) Дайте мне знать, что сработает для вас. –

+0

Diffy's работает отлично. Когда я хочу больше настроек, я буду использовать ваши. Благодаря! – user3280350

 Смежные вопросы

  • Нет связанных вопросов^_^