web-dev-qa-db-ja.com

アクションバーでタイトルのテキストのサイズを変更する方法

それぞれのAndroid 4.0アプリケーションにActionBarがあり、タイトルを取得しました。このサイズを小さくする必要があります。しかし、どうすればできるかわかりませんが、 ActionBarはパブリックメソッドを提供しないためです備考:カスタムビューを使用したくありません。

38
malcoauri

実際、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>
49

あなたはいつもこのようなことをすることができます:

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

私のシステムでは、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>

それはうまくいきましたが、カスタムアクションバーよりもこれをやりたいです。

7
steven smith

私はこの方法に従って、カスタムスタイルの作成をスキップしました。

  1. 必要なテキストサイズでカスタムレイアウトを作成し、
  2. アクションバーに適用します。

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>

ここで、必要なtextSizeを設定します。

2)MainActivity.Java

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

お役に立てれば。

5

Android ActionBarのテキストのサイズはstandardです。

ICSから、Androidは、アプリケーションが(できれば)同じUIガイドラインと設計原則に従うように、標準を開発しています。

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

これが変更できない理由です。

ただし、、まだやりたい場合は、カスタムテーマを使用するか、ActionBar(フォーク)を実装してソースを変更できます: https://github.com/johannilsson/Android-actionbar 最大限の制御を得るため。

3
shkschneider