web-dev-qa-db-ja.com

appcompat-v7のツールバーのタイトルを削除

Toolbarドキュメント はこう言っています

アプリがロゴ画像を使用する場合は、タイトルと字幕を省略することを強くお勧めします。

タイトルを削除するための適切な方法は何ですか?

151
getSupportActionBar().setDisplayShowTitleEnabled(false);
504
massaimara98

ツールバーのタイトルを非表示/変更する正しい方法は次のとおりです。

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);

これは、setSupportActionBar(toolbar);を呼び出すと、getSupportActionBar()がツールバーオブジェクトではなくアクションバーへのすべての処理を担当するためです。

こちら を参照してください

65
David_E

これを試して...

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

    .....

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_landing_page);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    .....

 }
19

これに対する私の答えの理由は、最も支持された答え自体が私の問題を解決するのに失敗したからです。私はこれをすることによってこの問題を考え出しました。

<activity Android:name="NAME OF YOUR ACTIVITY"
    Android:label="" />

これが他の人にも役立つことを願っています。

15
Chandra Sekhar

Toolbarからタイトルを削除するもう1つの方法は、次のようにnullを削除することです。

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);
10
MrEngineer13

ツールバーを使用している場合は、以下のコードを試してください。

toolbar.setTitle("");
3

この

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //toolbar.setNavigationIcon(R.drawable.ic_toolbar);
    toolbar.setTitle("");
    toolbar.setSubtitle("");
    //toolbar.setLogo(R.drawable.ic_toolbar);
2
younes
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

この行に注意してくださいgetSupportActionBar().setDisplayShowTitleEnabled(false);

2
suulisin

両方とも同じように動作するので、以下のいずれかを使用できます。getSupportActionBar().setDisplayShowTitleEnabled(false);andgetSupportActionBar().setTitle(null);

使用する場所:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);

または:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(null);
2

これが正しい方法かどうかはわかりませんが、私はこのようにスタイルを変更しました。

<style name="NoActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="Android:windowNoTitle">true</item>
</style>
1
Goudam m

この属性をツールバーに追加するだけです

app:title=" "
1
Dyno Cris

ツールバーのタイトル/ラベルを隠す正しい方法は、次のコードです。

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);
0
Hai Rom
Toolbar toolbar = findViewById(R.id.myToolbar);
    toolbar.setTitle("");
0
Bacar Pereira

それは明らかですが、デザインのApp Themeの選択はレイアウト編集中にドラフトを表示するためだけのもので、携帯電話で見ている実際のアプリとは関係ありません。私の場合、デザインにタイトルバーはありませんが、タイトルバーは常に携帯電話にありました。

私はAndroidのプログラミングから始めて、正しい解決策を見つけるために戦います。

マニフェストファイル(AndroidManifest.xml)を変更するだけでは不十分です。スタイルを事前定義する必要があるのはstyles.xmlであるためです。レイアウトファイルの変更も無駄です。

JavaまたはKotlinで提案されているすべての解決策が失敗しました。そのうちのいくつかはアプリをクラッシュさせます。そして(私のように)アプリでタイトルバーを使うつもりがないのであれば、静的な解決策はよりクリーンです。

私にとって、2019年(Android Studio 3.4.1)で動作する唯一の解決策は以下のとおりです。

styles.xml(app/res/valuesの下)に以下の行を追加します。

   <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

AndroidManifest.xmlに入った後(app/manifestsの下)

交換する

Android:theme="@style/AppTheme">

によって

Android:theme="@style/AppTheme.NoActionBar">
0
Paulo Buchsbaum

誰も言及しなかった:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }
0
Andoctorey

toolbar.setTitle(null); //タイトルを削除

0
user2167877

デフォルトのツールバーを使用している場合は、このコード行を追加できます。

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
0