Barre d'outils à l'intérieur de CollapsingToolbarLayout, titre de la barre d'outils ne s'affiche pas

J'ai utilisé CollapsingToolbarLayout comme parent de la Toolbar d' Toolbar , en dessous de la mise en page

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar_layout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/test_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:minHeight="?attr/actionBarSize" app:navigationIcon="@drawable/abc_ic_ab_back_mtrl_am_alpha" app:theme="@style/ThemeOverlay.AppCompat.Light" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> 

Ensuite, je souhaite définir le titre de la Toolbar d' Toolbar avec le code suivant, mais cela n'a pas fonctionné. Le titre ne s'affichait plus.

  Toolbar toolbar = (Toolbar) findViewById(R.id.test_toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayShowTitleEnabled(true); getSupportActionBar().setTitle("ABC"); 

J'ai également essayé de définir le titre dans CollapsingToolbarLayout avec le code suivant, cela ne fonctionnait pas non plus.

  CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar_layout); collapsingToolbarLayout.setTitleEnabled(true); collapsingToolbarLayout.setTitle("ABC"); 

Mais si j'ai supprimé CollapsingToolbarLayout de ma mise en page et que AppBarLayout était le parent direct de la Toolbar d' Toolbar , le code ci-dessus pour définir le titre de la Toolbar d' Toolbar fonctionnait.

Avez-vous manqué quelque chose? Ce problème est si étrange. Est-ce un bug dans la bibliothèque de support de conception? Comment puis-je le résoudre sans changer ma mise en page?

  • CollapsingToolBarLayout - modification de la couleur de la barre d'état
  • Empêchez le collapsingToolbarLayout s'écroule s'il n'est pas nécessaire
  • (Bibliothèque de support de conception) CollapsingToolbarLayout - Barre d'outils ne pas être épinglée lors de l'effondrement
  • Redimensionnement de titre doux personnalisé
  • Réduire la disposition de la barre d'outils avec les onglets, effacer la barre d'outils uniquement lorsque les onglets atteignent la barre d'outils dans Android
  • Ajouter l'icône avec le titre dans CollapsingToolbarLayout
  • Android CollapsingToolbarLayout avec une vue personnalisée
  • Détection lorsque AppBarLayout / CollapsingToolbarLayout est complètement étendu
  • 2 Solutions collect form web for “Barre d'outils à l'intérieur de CollapsingToolbarLayout, titre de la barre d'outils ne s'affiche pas”

    C'est une solution temporaire. Je n'ai pas étudié profondément le code, mais en désactivant le rafraîchissement de la Toolbar d' Toolbar dans CollapsingToolbarLayout , cela a fonctionné.
    Voici ce que j'ai fait:

     public static void setRefreshToolbarEnable(CollapsingToolbarLayout collapsingToolbarLayout, boolean refreshToolbarEnable) { try { Field field = CollapsingToolbarLayout.class.getDeclaredField("mRefreshToolbar"); field.setAccessible(true); field.setBoolean(collapsingToolbarLayout, refreshToolbarEnable); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } 

    Bouge toi

     CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar_layout); collapsingToolbarLayout.setTitleEnabled(true); collapsingToolbarLayout.setTitle("ABC"); 

    De onCreate to onCreateView inside if

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.