2016-11-23 23 views
2

ツールバーのサブタイトルを適切に削除し、そのタイトルを元に戻すにはどうすればよいですか?このgetSupportActionBar().setSubtitle(null);はテキストのみを削除しますが、タイトルがトップのまま行うツールバーのサブタイトルを削除する

this image represents the behaviour.

は、私もそれを更新しようとする試みとして、これを試してみたが、aswell動作しませんでした:

getSupportActionBar().setSubtitle(null); 
getSupportActionBar().setDisplayShowTitleEnabled(false); 
getSupportActionBar().setDisplayShowTitleEnabled(true); 

XMLコード:

<android.support.v7.widget.Toolbar 
    android:id="@+id/settingsToolbar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/toolbar_height" 
    android:paddingTop="@dimen/toolbar_padding" 
    android:minHeight="@dimen/toolbar_min_height" 
    android:background="@color/colorPrimary" 
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    android:animateLayoutChanges="true"/> 

は、ツールバーの設定

Toolbar toolbar = (Toolbar)findViewById(R.id.settingsToolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle("Settings"); 
    getSupportActionBar().setHomeButtonEnabled(true); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

これはthis questionと重複していません。受諾された回答で解決できないためです。

+0

ソリューションは、私のために正常に動作します。もっと情報を投稿できますか?コード/ツールバーXML。 –

+0

編集 – afellowcoder

+0

getSupportActionBar()を設定してください。setSubtitle(null);私のためにもうまく動作します。 – Tasneem

答えて

0

あなたはそれが動作することを削除すると問題がandroid:animateLayoutChanges="true"

であるが、それは私がこれを落ち着いてきた今、かなりのアニメーションを持っていません。

public void changeSubtitle(@Nullable String subtitle) { 

    if (subtitle == null) { 
     toolbar.setLayoutTransition(null); 
     getSupportActionBar().setSubtitle(null); 
    } else { 
     toolbar.setLayoutTransition(new LayoutTransition()); 
     getSupportActionBar().setSubtitle(subtitle); 
    } 
} 

追加するときに、それがアニメーション化字幕は削除されません。

1

ただ、この操作を行います。 "ヌル" と

toolbar.setSubtitle(null); toolbar.setLayoutTransition(new LayoutTransition());

関連する問題