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


170

ドキュメントのはToolbar言います

アプリでロゴ画像を使用する場合は、タイトルとサブタイトルの省略を強く検討する必要があります。

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


空の文字列に設定しただけの場合、どこに問題がありますか?アイコンだけを使用するカスタムレイアウトを使用する必要があるとは思わない。やりすぎだと思いませんか?
ワーグナーマイケル

3
@maffelbaffel空の文字列の設定に問題はありませんが、不適切に感じられます。しかし、いや、カスタムレイアウトを使用するのはやり過ぎです。
timemanx 2014年

1
私はしなければなりませんでした:toolbar.setTitle("");
Ferran Maylinch

1
@FerranMaylinchはい、これは私にとっても仕事です!toolbar.setTitle(null);を使用し ます。その結果、デフォルトのタイトルとしてアプリケーション名になります。そのため、toolbar.setTitle( "");を設定します。うまくいきます。
ULHAS PATIL 2015

回答:


554
getSupportActionBar().setDisplayShowTitleEnabled(false);

4
この回答とDavid_Eの回答は、の直後に呼び出された場合と同様に機能しますsetSupportActionBar()。これは公式の参照に応じてこれを行うための公式の方法であると思われるので、この答えを選ぶ:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5

私はactionbarのようなツールバーのためだけにではなく、きれいなtoobarのためにではない!
iscariot 2015年

2
style.xmlを使用して削除するにはどうすればよいですか?私を助けてください
Anand Savjani 2015

私のために働いた。これを機能させるには、「appcompat_v7:v21」を使用する必要があります。
V_J 2015

上記を実行してもNullPonterExceptionが生成されないかどうかを確認する必要があります。if(getSupportActionBar()!= null)getSupportActionBar()。setDisplayShowTitleEnabled(false);
iOSAndroidWindowsMo​​bileAppsDev

68

ツールバーのタイトルを非表示/変更する正しい方法はこれです:

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

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

こちらをご覧ください


9
setTitle(null)を指定すると、アプリ名がタイトルになります。setTitle( "")でうまくいきました。
user1354603 2015

1
xmlで<Toolbar app:title = "" //タイトルをスペースに追加しました。働いていました
Dan Alboteanu

21

これを試して...

 @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="" />

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


2
これは良い考えではありません。<intent-filter>たとえば、URLをクリックしてユーザーがアプリを開くことができるアクティビティがある場合、明確化ダイアログにはタイトルがありません!
Albert Vila Calvo 2016

10

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

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

4

この

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

あなたは、どちらも同じように動作して怒鳴るのいずれかを使用することができます getSupportActionBar().setDisplayShowTitleEnabled(false); し、 getSupportActionBar().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
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

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


actionBar.addView(view); ツールバーに追加するカスタムビューです
suulisin


1

ToolBarのタイトル/ラベルを非表示にする正しい方法は、次のコードです。

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

1

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

<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

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

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

1

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

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

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

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

私にとって、2019(Android Studio 3.4.1)で機能する唯一のソリューションは次のとおりです。

styles.xml(アプリ/ RES /値下)の行を追加します。

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

AndroidManifest.xml(アプリ/マニフェストの下)

交換する

android:theme="@style/AppTheme">

沿って

android:theme="@style/AppTheme.NoActionBar">

0

誰も言及しなかった:

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

回答する前に質問を注意深く読んでください。OPはツールバーからタイトルを削除するように求めています
Bhavik Mehta


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.