web-dev-qa-db-ja.com

getSupportActionBar()。setTitle()vs toolbar.setTitle()

Android Activityにタイトルを設定する2つの方法があります。

私はすでに次のコードを持っていると仮定します...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity);

    ...

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(toolbar);

...これを使用できます...

getSupportActionBar().setTitle("My title");

...またはこれ...

toolbar.setTitle("My title");

...タイトルを設定します。

私の質問は、これがより良い方法です

16

setSupportActionBar(Toolbar)を呼び出すと、アクションバーがタイトルの処理を担当するため、getSupportActionBar().setTitle("My Title");を呼び出してカスタムタイトルを設定する必要があります。

toolbar.setTitle("My title");が以下のような問題を引き起こす可能性のあるこのリンクも確認してください。- In Android app Toolbar.setTitleメソッドは効果がありません–アプリケーション名はタイトル

また、ツールバーはアクションバーの一般的な形式です。

複数のツールバーをレイアウトウィジェットとして使用できますが、アクションは使用できません。

したがって、より良いアプローチはgetSupportActionBar().setTitle("My Title");を使用することです

23
Androider
setSupportActionBar(toolbar);

この行の目的は、渡されたツールバーをアクティビティアプリバーとして設定することです。このように、どちらの方法でも完全に受け入れられます。個人的には既にツールバーを作成しているので、上記の方法を使用して渡す前にツールバーのタイトルを設定します。

0
Eamon Scullion