Intereting Posts
Позиция героя, неправильно рассчитанная во время перехода общего элемента Настройка сервера pc bluetooth для android Как рисовать и масштабировать растровое изображение на холсте с использованием бикубической интерполяции в Android? Лучшие практики для соглашений об именах ID в Android? Android: неопределенный горизонтальный ход (диалог) Пользовательский диалог с setMultiChoiceItems Метод weakreference get (), насколько он безопасен? (Android, asynctask) Android: OutofMemoryError: размер растрового изображения превышает бюджет VM без причины, я могу видеть Попытка запуска службы при загрузке на Android Как создать раскладку, разделенную по диагонали, и две половинки можно кликать? Как отключить всплывающее окно клавиатуры, когда на edittext? Android: как отправить HTTP-запрос через службу каждые 10 секунд Android – Как опубликовать рейтинг приложения / комментарии на Market из приложения? Получение потока RTP – AudioStream, AudioGroup Intellij IDEA CE 12 Android Code Code Completion не работает

Как настроить выравнивание заголовка андроида?

Я попробовал свою собственную панель пользовательских действий для получения заголовка панели действий по центру. Это сработало. Однако после того, как я добавил меню опций в Action bar, название снова сдвинулось влево. Что мне делать, чтобы получить название по центру панели действий? Мой код:

ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setDisplayShowCustomEnabled(true); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayUseLogoEnabled(false); actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); View cView = getLayoutInflater().inflate(R.layout.custom_actionbar, null); actionBar.setCustomView(cView); 

И мой макет

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@android:color/holo_blue_light" android:orientation="vertical" > <TextView android:id="@+id/apptitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_gravity="center_horizontal|center_vertical" android:gravity="center_horizontal|center_vertical" android:text="@string/app_name" /> 

Solutions Collecting From Web of "Как настроить выравнивание заголовка андроида?"

Я уверен, вы используете ниже, чтобы задать свою собственную тему.

 getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getSupportActionBar().setCustomView(R.layout.abs_layout); 

Если нет, то, пожалуйста, добавьте первую строку. И текст в вашем настраиваемом макете центрирован. (Гравитация = Центр)

Также я нашел аналогичную ссылку здесь и здесь . Надеюсь это поможет.

Попробуйте это также.

Я смог выполнить то, что я хотел, не указав название действия, а вместо этого использовал customView, как вы предложили. Ключ, который я пропустил какое-то время, должен был использовать метод setCustomView (View, ActionVar.LayoutParams), чтобы получить настраиваемый просмотр по центру, просто установка layout_gravity = "center" в пользовательском файле макета представления не работает. Вот короткий фрагмент кода, показывающий, как я получил его на работу:

  TextView customView = (TextView) LayoutInflater.from(this).inflate(R.layout.actionbar_custom_title_view_centered, null); ActionBar.LayoutParams params = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER); customView.setText("Some centered text"); getSupportActionBar().setCustomView(customView, params); 

Этот метод работает для меня как минимум на 3,2, 2,3 и 2,2 устройствах.

Источник https://groups.google.com/forum/#!msg/actionbarsherlock/A9Ponma6KKI/Llsp41jWLEgJ

Сначала создайте файл .xml следующим образом: (action_bar.xml)

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/actionbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:maxLines="1" android:clickable="false" android:focusable="false" android:longClickable="false" android:textStyle="bold" android:textSize="18sp" android:textColor="#000000" /> </LinearLayout> 

И тогда, в вашей деятельности:

 View view = getLayoutInflater().inflate(R.layout.action_bar, null); ActionBar.LayoutParams params = new ActionBar.LayoutParams( ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER); TextView Title = (TextView) view.findViewById(R.id.actionbar_title); Title.setText("Your Title"); getSupportActionBar().setCustomView(view,params); getSupportActionBar().setDisplayShowCustomEnabled(true); //show custom title getSupportActionBar().setDisplayShowTitleEnabled(false); //hide the default title 

Я пробовал много решений, и только это работает. Надеюсь, это поможет вам.