Vraag Hoe verander ik de tekst van de titel op de actiebalk?


Er is een ActionBar op elke Android 4.0-applicatie en kreeg een titel. Ik moet deze maat kleiner maken. Maar ik begrijp niet hoe ik het kan doen, want ActionBar biedt hiervoor geen openbare methoden. Opmerking: Ik wil geen aangepaste weergaven gebruiken.


37
2017-10-15 13:51


oorsprong


antwoorden:


Eigenlijk kunt u doen wat u de ActionBar wilt aanpassen. Het moet via het thema gebeuren. U kunt zoiets als dit doen:

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

47
2017-10-15 15:53



Je zou altijd zoiets als dit kunnen doen:

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

19
2018-04-21 22:52



op mijn systeem, res / styles AppTheme heeft een opmerking

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

en dit is de stijl die is aangegeven in AndroidMainfest.xml. ik voegde toe

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

en het werkte en ik doe dit liever dan een aangepaste actiebalk.


7
2017-07-31 02:47



De tekstgrootte in Android ActionBar is standaard-.

Sinds ICS ontwikkelt Android nu een standaard zodat applicaties (hopelijk) dezelfde UI-richtlijnen en ontwerpprincipes zullen volgen.

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

Dit is waarom je het niet kunt veranderen.

Echter, als u dit nog steeds wilt, kunt u een aangepast thema gebruiken of ActionBar (een vork) implementeren en de bronnen ervan wijzigen: https://github.com/johannilsson/android-actionbar om maximale controle te krijgen.


3
2017-10-15 13:57



Ik heb deze methode gevolgd om het maken van aangepaste stijlen over te slaan:

  1. Maak een aangepaste lay-out met de vereiste tekstgrootte en
  2. pas dat toe op je actiebalk.

1) Maak een lay-outbestand (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>

Hier stelt u de gewenste tekstgrootte in.

2) MainActivity.java

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

ik hoop dat dit helpt.


2
2018-04-02 01:58