13

मैं Toolbar के माता पिता के रूप CollapsingToolbarLayout इस्तेमाल किया, यह नीचे लेआउटटूलबार CollapsingToolbarLayout अंदर, टूलबार शीर्षक नहीं दिखाई दे रहा

<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> 

तो मैं निम्न कोड के साथ Toolbar के शीर्षक सेट करना चाहते हैं, लेकिन यह काम नहीं किया। शीर्षक अभी नहीं दिखाया गया।

Toolbar toolbar = (Toolbar) findViewById(R.id.test_toolbar); 
    setSupportActionBar(toolbar); 

    getSupportActionBar().setDisplayShowTitleEnabled(true); 
    getSupportActionBar().setTitle("ABC"); 

मैं भी निम्न कोड के साथ CollapsingToolbarLayout में शीर्षक सेट की कोशिश की, यह या तो काम नहीं किया।

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

लेकिन अगर मैं अपने लेआउट से CollapsingToolbarLayout हटा दिया और Toolbar के प्रत्यक्ष माता पिता के रूप AppBarLayout बनाने के लिए, ऊपर कोड Toolbar के शीर्षक सेट करने के लिए काम किया।

क्या मुझे कुछ याद आया? यह मुद्दा बहुत अजीब है। क्या यह डिजाइन समर्थन पुस्तकालय में एक बग है? मैं अपना लेआउट बदलने के बिना इसे कैसे हल कर सकता हूं?

+0

कोशिश 'एंड्रॉयड: fitsSystemWindows =" true "' 'अपने CoordinatorLayout',' AppBarLayout' और 'CollapsingToolbarLayout' पर। –

+0

@ FarbodSalamat-Zadeh आपके उत्तर के लिए धन्यवाद। जैसा आपने कहा था, मैंने कोशिश नहीं की। – alijandro

+2

इस पर कोई अद्यतन? यहां एक ही समस्या का सामना करना !! – Shatazone

उत्तर

5

यह एक अस्थायी समाधान है। मैंने गहराई से कोड की जांच नहीं की, लेकिन CollapsingToolbarLayout में रीफ्रेश को अक्षम करके, यह काम किया।
यहाँ मैं क्या किया है:

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(); 
    } 
} 
+1

क्या आपको इसके लिए स्थायी समाधान मिला? मैं वर्तमान में इसका उपयोग कर रहा हूं लेकिन मुझे नहीं पता कि यह विश्वसनीय – Bhargav

+0

यह सुनिश्चित नहीं है कि यह क्यों काम कर रहा है, लेकिन अभी तक काफी अच्छा है, मुझे वास्तव में ऐसा करने का कोई और तरीका नहीं मिल रहा है। – Lancelot

+0

यह काम करने का अनुमान है! बहुत अच्छा। असल में वहां पहले से दायर की गई बग्स: https://code.google.com/p/android/issues/detail?can=2&q=183333&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened&id=183333 I इन उत्तरों पर उत्तरों से संबंधित यह उत्तर पाएं: http://stackoverflow.com/questions/32073812/collapsingtoolbarlayout-settitle-not-working-anymore | http://stackoverflow.com/questions/30682548/collapsingtoolbarlayout-settitle-does-not-update-unless-collapsed –

0

ले जाएँ

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

onCreate से onCreateView के अंदर अगर

+0

आप दोनों का एक ही नाम क्यों मिला है? –

+0

यह मेरे लिए काम नहीं किया। – fobbymaster

1

आप उपकरण पट्टी गिर सेट 'titleEnabled = false' एक्सएमएल में तो टूलबार शीर्षक दिखाई देगा ।

app:titleEnabled="false" 
0

इस प्रयास करें:

collapsingToolbarLayout.setTitleEnabled(false); 
toolbar.setTitle("ABC"); 
+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/17863068) –

संबंधित मुद्दे