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.

  • Comment détecter un clic sur un bouton d'onglet déjà sélectionné
  • Aidez à passer une ArrayList of Objects à une nouvelle activité
  • Apportable avec Spritekit
  • La vue de la grille Android place les objets de droite à gauche
  • Comment faire pour créer des éléments de liste Get DragEvents après le défilement
  • Qu'est-ce que CoordinatorLayout?
  •   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?

  • Android Studio, Git et trois façons de fusionner
  • Statistiques de téléchargement d'arrière-plan d'Android
  • Android PackageStats donne des valeurs négatives
  • Environment.getExternalStoragePublicDirectory donne un stockage interne
  • Comment configurer l'ordre des bibliothèques dans classpath pour Android Studio?
  • Comment obtenir le score du classement du joueur de google play de joueur actuel?
  • 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.