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

СуществуетActionBar на каждом приложении Android 4.0, и он получил название. Мне нужно сделать этот размер меньше. Но я не понимаю, как я могу это сделать, потому чтоActionBar не предоставляет публичные методы для этого.Примечание: Я не хочу использовать пользовательские представления.

 ban-geoengineering25 янв. 2017 г., 19:12
Хорошее, чистое решение здесь:stackoverflow.com/a/29266326/1617737

Ответы на вопрос(5)

вы можете делать то, что вы хотите настроить ActionBar. Это должно быть сделано через тему. Вы можете сделать что-то вроде этого:

<style name="Theme.YourTheme" parent="android:style/Theme">
    <item name="android:actionBarStyle">@style/Theme.YourTheme.Styled.ActionBar</item>
</style>

<style name="Theme.YourTheme.Styled.ActionBar">
    <item name="android:titleTextStyle">@style/Theme.Viadeo.Styled.YourTheme.TitleTextStyle</item>
</style>

<style name="Theme.YourTheme.Styled.ActionBar.TitleTextStyle" parent="@android:style/Widget.TextView">
    <item name="android:textSize">12sp</item>
</style>
 gingo27 нояб. 2013 г., 17:28
Спасибо Аурелиен! Вы должны рассмотреть возможность использования sp inshead dp для размера текста ;-)
 Milaaaad17 дек. 2015 г., 12:31
хорошая работа, я использую этот стиль для панели действий и меняю цвет, размер и внешний вид заголовка
 Gábor23 мар. 2014 г., 13:30
Вместо жесткого кодирования любого размера, вы можете рассмотреть наследование отparent="@android:style/TextAppearance.Large" вместо. Это даст вам стандартный больший размер текста, независимо от того, на каком устройстве вы находитесь.
 Aurélien Guillard28 нояб. 2013 г., 12:52
вы правы :)

стандарт.

Начиная с ICS, Android теперь разрабатывает стандарт, так что приложения (будем надеяться) будут следовать тем же руководящим принципам и принципам дизайна пользовательского интерфейса.

http://developer.android.com/guide/practices/ui_guidelines/index.html

Вот почему вы не можете это изменить.

тем не мение, если вы все еще хотите это сделать, вы можете использовать пользовательскую тему или, возможно, реализовать ActionBar (вилка) и изменить ее источники:https://github.com/johannilsson/android-actionbar чтобы получить максимальный контроль.

 323go15 окт. 2012 г., 16:31
Вы могли бы. Но ты не должен. Android Chrome разработан профессионалами пользовательского интерфейса, которые изучают, как пользователь взаимодействует с устройством, и оптимизируют внешний вид и размещение всех элементов пользовательского интерфейса, чтобы облегчить хорошее взаимодействие. Модификация Chrome сделает приложение менее пригодным для использования и расстроит пользователей.

ActionBar actionBar = getActionBar();
actionBar.setTitle(Html.fromHtml("<small>YOUR TITLE</small>"));
 Elhanan Mishraky06 июл. 2014 г., 15:08
Работал на меня, используя Шерлока
 Amrut07 сент. 2013 г., 18:22
это не работает, вам придется добавить текстовое представление
 Milaaaad17 дек. 2015 г., 12:30
это хорошо работает, и это сработало для меня
 Hugo Mallet11 мар. 2016 г., 14:49
Используйте html, чтобы установить текст, это очень бесполезно с использованием стиля производительности

чтобы пропустить создание собственного стиля:

Создайте пользовательский макет с требуемым размером текста ипримените это к своей панели действий.

1) Создайте файл макета (titlebar.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="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/action_bar_title"
        android:text="@string/app_name"
        android:textColor="@color/colorPrimary"
        android:textSize="24sp" />
</LinearLayout>

Здесь установите необходимый размер текста.

2) MainActivity.java

    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); //bellow setSupportActionBar(toolbar);
    getSupportActionBar().setCustomView(R.layout.titlebar);

надеюсь это поможет.

 Boris Karloff14 янв. 2019 г., 14:25
Это хорошее решение!

В моей системе Res / Styles AppTheme есть примечание, говорящее

<!-- All customizations that are NOT specific to a particular API-level can go here. -->

и это стиль, указанный в AndroidMainfest.xml. я добавил

<item name="android:textSize">15sp</item>

и это сработало, и я бы лучше сделал это, чем настраиваемая панель действий.

Ваш ответ на вопрос