6

तो, मुझे अपने प्रोजेक्ट में CollapsingToolbarLayout के साथ एक कठोर समस्या मिली। बाद मेरी गतिविधि शुरू होता है कि यह कैसे मेरे उपकरण पट्टी शीर्षक प्रकट होता है:विस्तारित CollapsingToolbarLayout में शीर्षक सही ढंग से प्रदर्शित नहीं किया गया

the expanded title has dots at the end

बाद लेआउट गिर इस तरह है:

collapsed title with dots at the end

उदाहरण में मूल शीर्षक पाठ है: "UPC VONALKODOS TERMEK "

मुझे लगता है कि विस्तारित राज्य में शीर्षक लंबा होना चाहिए (इसके लिए पर्याप्त जगह है) सह राज्य समाप्त हो गया यह वही मेरी गतिविधि के एक्सएमएल लगता है:

<style name="ExpandedText" parent="android:TextAppearance"> 
    <item name="android:textColor">@android:color/white</item> 
    <item name="android:textSize">20sp</item> 
    </style> 

समर्थन पुस्तकालय संस्करण:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    app:theme="@style/PolarThemeNoActionBar"> 
    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_below="@+id/tablayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 
    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 
     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="142dp" 
      android:fitsSystemWindows="true" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginStart="48dp" 
      app:expandedTitleMarginBottom="20dp" 
      app:expandedTitleTextAppearance="@style/ExpandedText"> 
      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       android:minHeight="?attr/actionBarSize" 
       app:layout_collapseMode="pin"/> 
      </android.support.design.widget.CollapsingToolbarLayout> 
     <android.support.design.widget.TabLayout 
      android:id="@+id/tablayout" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:layout_below="@+id/toolbar" 
      android:minHeight="?attr/actionBarSize" 
      android:gravity="bottom" 
      android:background="?attr/colorPrimary" 
      android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
      app:tabIndicatorColor="?attr/colorPrimaryDark"/> 
     </android.support.design.widget.AppBarLayout> 
    </android.support.design.widget.CoordinatorLayout> 

मेरे रेस/शैली/ExpandedText तरह लग रहा है 25.1.1। फोन: नेक्सस 5 Android संस्करण: 6.0.1 (स्टॉक)

मेरा प्रश्न : क्यों शीर्षक विस्तृत स्थिति में अंत में डॉट्स और इसे से अधिक दिखाने के लिए स्थान को भरने नहीं है?

[संपादित करें 1] मुद्दा अभी भी समर्थन पुस्तकालय संस्करण के साथ रहता है 25.3.0

+1

ऐसा लगता है कि इस व्यवहार की तरह एक अपेक्षाकृत हाल पुस्तकालय संस्करण में पेश किया गया था। मैंने सोचा कि यह अजीब लग रहा था, इसलिए मैंने एक पुरानी परियोजना खींची, और यह व्यवहार करता है क्योंकि आप संस्करण 23.4.0 के साथ उम्मीद कर रहे हैं। अर्थात, जैसा कि मैंने पहले उल्लेख किया था, ध्वस्त आकार और क्षेत्र के आधार पर लंबित होने के बजाय, शीर्षक विस्तारित राज्य में पूरी तरह से दिखाया गया है। मुझे यकीन नहीं है कि कौन सा संस्करण परिवर्तन लाया, लेकिन स्रोत के गिट दोष को देखते हुए, ऐसा लगता है कि यह पिछले साल के मध्य में किया गया था, किनारे के मामलों को ठीक करने के लिए जहां शीर्षक आइकन और इस तरह से ओवरलैप होगा। यदि आप एक संभावना है, तो आप एक समस्या दर्ज कर सकते हैं, और अभी वापस लौट सकते हैं। –

+1

@ माइक एम। आपकी टिप्पणी के लिए धन्यवाद। मुझे लगता है कि आप सही हैं, मेरे ऐप के पुराने संस्करण में 'CollapsingToolbarLayout' शीर्षक ठीक दिखता है: मुझे लगता है कि आपको इस टिप्पणी को एक उत्तर के रूप में पोस्ट करना चाहिए। – zkminusck

उत्तर

4

CollapsingToolbarLayout एक सहायक वर्ग का उपयोग करता है। लिखने के समय, इस वर्ग के हाल के संस्करण विस्तारित शीर्षक के लिए उपलब्ध चौड़ाई को ढंके हुए राज्य में उपलब्ध चौड़ाई के आधार पर आकार में सीमित कर रहे हैं, जो राज्य के टेक्स्ट आकारों के अनुपात से स्केल किए गए हैं।

प्रासंगिक स्रोत टिप्पणियाँ:

// If the scaled down size is larger than the actual collapsed width, we need to 
// cap the available width so that when the expanded text scales down, it matches 
// the collapsed width 

यह जाहिरा तौर पर कुछ बढ़त मामलों में जहां शीर्षक ओवरलैप होगा अन्य Toolbar सामान को संबोधित करने के रूप में पेश किया गया था the relevant commit पर नोट में विस्तार से बताया।

फिक्स CollapsingToolbarLayout माउस

सीटीएल से अधिक प्रदर्शित यह शीर्षक जो ज्यादातर स्थितियों में काम करता है मापता है। वहाँ किनारे मामलों हालांकि जहां शीर्षक उपकरण पट्टियाँ सामग्री, अर्थात् माउस पर तैयार की जा सकती है।

यह सीएल बढ़त मामलों में जहां ढह और विस्तृत पाठ आकार आकार में समान हैं ठीक करता है, जो का मतलब सीमित नहीं है/कोई स्केलिंग हो रहा स्क्रॉल करते हुए। इस उदाहरण में हम, इतना है कि यह 'मापता है' जब ढह ढह चौड़ाई मैच के लिए किसी भी उपलब्ध चौड़ाई सीमित रखने के लिए जब विस्तार की जरूरत है।

आम तौर पर, मैं सब के बारे में View वर्गों में फाड़ प्रतिबिंब और अन्य प्रवंचना के साथ अपने व्यवहार को संशोधित करने हूँ, लेकिन इस मामले में, यह देखते हुए सेटअप ऐसी है कि यह वास्तव में कुछ बड़े कार्य करने लगेगा। सहायक वर्ग पुस्तकालय पैकेज के बाहर सामान्य रूप से सुलभ नहीं है, इसके उदाहरण CollapsingToolbarLayout में निजी होती है और आकार गणना ज्यादातर स्थानीय चर के साथ एक निजी, माध्यमिक विधि में प्रदर्शन कर रहे हैं।

यदि यह एक संभावना है, सबसे आसान समाधान यह सुधार से पहले प्रकाशित एक पुस्तकालय संस्करण पर वापस लौटने के लिए होगा। मैंने इस परिवर्तन को लाने वाले सटीक संस्करण को निर्धारित नहीं किया है, और support library revision history दुर्भाग्य से इसका उल्लेख नहीं करता है। हालांकि, यह प्रतिबद्धता पिछले वर्ष (2016) के मध्य में बनाई गई थी, तो शायद संस्करण 24.0.0 के आसपास, या थोड़ी देर बाद। मैं सत्यापित कर सकता हूं कि व्यवहार 23.4.0 में मौजूद नहीं है।

आप निश्चित रूप से file a bug report इस के लिए, यदि आप चाहें, हालांकि कोई गारंटी वे यह एक बग विचार करूँगा कि सकता है। मुझे this tangentially-related one के अलावा इस बदलाव के दुष्प्रभाव के बारे में शिकायत करने के बारे में शिकायत करने के बारे में पहले से कोई भी पहले दर्ज किए गए मुद्दों को नहीं मिला।

+2

अच्छी तरह से विस्तृत। –

0

आप लपेटने बंद कर सकते हैं। अपने TextAppearance शैली को यह करें:

<item name="android:ellipsize">none</item> 

यदि यह आवश्यक है कि आप मैन्युअल रूप से भी है कि शैली

<item name="android:width">300dp</item> 
+0

आपके उत्तर के लिए धन्यवाद, लेकिन यह काम नहीं किया। मेरा 'CollapsingToolbar' शीर्षक वही दिखता है। – zkminusck

0

के लिए चौड़ाई जोड़ने मैं अपने कोड को देखने के लिए इस मई को संपादित द्वारा बनाई गई है TextView की चौड़ाई को बदल सकते हैं आप इस

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/tablayout" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="142dp" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginBottom="20dp" 
     app:expandedTitleMarginStart="48dp" 
     app:expandedTitleTextAppearance="@style/ExpandedText" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      android:minHeight="?attr/actionBarSize" 
      app:contentInsetLeft="0dp" 
      app:contentInsetStart="0dp" 
      app:contentInsetStartWithNavigation="0dp" 
      app:layout_collapseMode="pin" /> 
    </android.support.design.widget.CollapsingToolbarLayout> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tablayout" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_below="@+id/toolbar" 
     android:background="?attr/colorPrimary" 
     android:gravity="bottom" 
     android:minHeight="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:tabIndicatorColor="?attr/colorPrimaryDark" /> 
</android.support.design.widget.AppBarLayout> 

चाहते हैं और इस गतिविधि कक्षा

0 है

}

और इस रेस/शैली है /: - CollapsingTextHelper - आकर्षित और इसके शीर्षक चेतन करने के लिए

<style name="CollapsedAppBar" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textSize">16sp</item> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textStyle">normal</item> 
</style> 
<style name="ExpandedAppBar" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textSize">20sp</item> 
    <item name="android:textStyle">bold</item> 
</style> 
+0

आपके उत्तर के लिए धन्यवाद, लेकिन यह काम नहीं कर रहा है। – zkminusck

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

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