7

Themes for ActionBarSherlockを使用して、アクションバーのタイトルのフォントサイズを変更するにはどうすればよいですか?

現在の私のテーマ(私のアプリケーション全体に適用されるのは次のとおりです):

<style name="Theme.MyAppDefaults" parent="@style/Theme.Sherlock.Light">
         <item name="android:textSize">@dimen/default_textsize</item>
         <item name="actionBarSize">@dimen/action_bar_height</item>
</style>

フォントサイズが、アプリのすべてのビューで設定されているように設定されていることに注意してください。ActionBarのフォントではありません。

4

2 に答える 2

10

タイトルのスタイルを変更する必要がある場合は、次のようなカスタムビューを追加できます。

<TextView
    android:id="@+id/action_custom_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="My Custom title"
    android:textColor="#fff"
    android:textSize="18sp" />

次に、実際のタイトルを非表示にして、カスタムビューを表示します。

    _actionBar.setDisplayShowTitleEnabled(false);

     LayoutInflater inflater = LayoutInflater.from(this);
     View customView = inflater.inflate(R.layout.custom_action_layout, null);

     TextView titleTV = (TextView) customView.findViewById(R.id.action_custom_title);
     // you can apply a custom typeface here or do sth else...

     _actionBar.setCustomView(customView);
     _actionBar.setDisplayShowCustomEnabled(true);

それで全部です!ActionBarタイトルのデフォルトのフォントサイズに興味がある場合は、18spです。

于 2012-06-27T07:38:43.827 に答える
7

私は以下のテーマを使用してこれを機能させました:

<style name="Theme.MyApp.Default" parent="@style/Theme.Sherlock.Light">
       <item name="actionBarStyle">@style/MyApp.SherlockActionBarStyle</item>
       <item name="android:actionBarStyle">@style/MyApp.SherlockActionBarStyle</item>
</style>

<style name="MyApp.SherlockActionBarStyle" parent="@style/Widget.Sherlock.ActionBar">
       <item name="titleTextStyle">@style/MyApp.ActionBar.TextAppearance</item>
</style>

<style name="MyApp.ActionBar.TextAppearance" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Menu">
      <item name="android:textSize">@dimen/default_textsize</item>
      <item name="android:textColor">@color/dark_grey</item>
 </style>

テキストサイズが。という名前のスタイルになっていることに注意してくださいMyApp.ActionBar.TextAppearance。また、ActionBarSherlockによると、テーマはAndroidプレフィックス属性と通常の属性の両方に設定する必要があります(上記のスタイルTheme.MyApp.DefaultのactionBarStyleを参照してください)。

于 2012-06-27T06:17:00.747 に答える