Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Собственно, вы можете сделать то, что хотите настроить 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>

Ответ 2

Вы всегда можете сделать что-то вроде этого:

ActionBar actionBar = getActionBar();
actionBar.setTitle(Html.fromHtml("<small>YOUR TITLE</small>"));

Ответ 3

в моей системе, 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>

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

Ответ 4

Размер текста в Android ActionBar стандарт.

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

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

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

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

Ответ 5

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

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

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);

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