How to change size of title's text on Action Bar?

后端 未结 6 1128
攒了一身酷
攒了一身酷 2020-11-28 13:20

There is an ActionBar on each Android 4.0 application, and it got a title. I need to make this size less. But I don\'t understand how I can do it, because

相关标签:
6条回答
  • 2020-11-28 13:40

    Actually, you can do what you want to customize the ActionBar. It must be done through the Theme. You can do something like this :

    <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>
    
    0 讨论(0)
  • 2020-11-28 13:47

    You can use

    subtitle:"exsample"
    

    XML

     <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="?attr/actionBarTheme"
        app:subtitle="subTitle"
        app:title = "Title"
        android:tag="dff"/>
    

    JAVA

    getSupportActionBar.setSubtitle("Sub Title");
    
    0 讨论(0)
  • 2020-11-28 13:51

    You could always do something like this:

    ActionBar actionBar = getActionBar();
    actionBar.setTitle(Html.fromHtml("<small>YOUR TITLE</small>"));
    
    0 讨论(0)
  • 2020-11-28 13:55

    The text's size in Android ActionBar is standard.

    Since ICS, Android now develops a standard so that applications will (hopefully) follow the same UI guidelines and design principles.

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

    This is why you can't change it.

    However, if you still want to do so, you could use a custom Theme or maybe implement ActionBar (a fork) and modify its sources: https://github.com/johannilsson/android-actionbar to get maximum control.

    0 讨论(0)
  • 2020-11-28 13:59

    I have followed this method to skip the creation of custom style:

    1. Create a custom layout with required text size and
    2. apply that to your action bar.

    1) Create a layout file (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>
    

    Here set your required textSize.

    2) MainActivity.java

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

    hope this helps.

    0 讨论(0)
  • 2020-11-28 14:03

    on my system, res/styles AppTheme has a note saying

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

    and this is the style indicated in AndroidMainfest.xml. I added

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

    and it worked and I'd rather do this than a custom actionbar.

    0 讨论(0)
提交回复
热议问题