1. ホーム
  2. android

[解決済み] AndroidでActionBarのタイトルを中央揃えで表示するには?

2022-12-06 15:35:11

質問

のテキストを中央揃えにするために、次のコードを使おうとしています。 ActionBar のテキストを中央揃えにしようとしているのですが、左揃えにされてしまいます。

どうすれば中央に表示されるのですか?

ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle("Canteen Home");
actionBar.setHomeButtonEnabled(true);
actionBar.setIcon(R.drawable.back);

どのように解決するのですか?

ABSでタイトルを中央揃えにするには(デフォルトの ActionBar でこれを実現したい場合は、メソッド名の "support" を削除してください)、次のようにすればよいでしょう。

アクティビティ内の onCreate() メソッドを呼び出します。

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
getSupportActionBar().setCustomView(R.layout.abs_layout);

abs_layout :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
        android:layout_gravity="center"
    android:orientation="vertical">

    <android.support.v7.widget.AppCompatTextView
        android:id="@+id/tvTitle"
        style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#FFFFFF" />

</LinearLayout>

これで Actionbar にタイトルだけが表示されているはずです。カスタム背景を設定したい場合は、上記のレイアウトで設定します (ただし、その際には android:layout_height="match_parent" ).

とかである。

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.yourimage));