0

Ich benutze Android Design Support-Bibliothek 25.0.1, gibt es ein Problem mit dem Titel in der zusammenklappenden Symbolleiste Layout, mein Titel ist lang und es ist in erweitertem Zustand Ellipse auch wenn es Platz ist um es zu zeigen.zusammenklappbare Symbolleiste Layout android Titel Ellipsen

Gibt es eine Lösung, mit der wir im erweiterten Modus Titel mit Ellipse aus anzeigen können. .

although there is some space availbale the title is ellispsized

kollabiert Symbolleiste Code:

<net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="@color/white" 
      app:titleEnabled="true" 
      app:expandedTitleGravity="center_horizontal" 
      app:expandedTitleMarginTop="75dp" 
      app:expandedTitleTextAppearance="@style/ExpandedAppBar" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 
+0

Add der Code für das Layout und die zugehörigen Dateien. – blizzard

+0

@blizzard hat das Code-Snippet hinzugefügt, bitte sehen Sie –

Antwort

0

Sie können benutzerdefinierte Marquee-able Toolbar erstellen, können Dieser Code hilft Ihnen

public class MarqueeToolbar extends Toolbar { 

    TextView title; 

    public MarqueeToolbar(Context context) { 
     super(context); 
    } 

    public MarqueeToolbar(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public MarqueeToolbar(Context context, AttributeSet attrs, int defStyleAttr) { 
     super(context, attrs, defStyleAttr); 
    } 

    @Override 
    public void setTitle(CharSequence title) { 
     if (!reflected) { 
      reflected = reflectTitle(); 
     } 
     super.setTitle(title); 
     selectTitle(); 
    } 

    @Override 
    public void setTitle(int resId) { 
     if (!reflected) { 
      reflected = reflectTitle(); 
     } 
     super.setTitle(resId); 
     selectTitle(); 
    } 

    boolean reflected = false; 
    private boolean reflectTitle() { 
     try { 
      Field field = Toolbar.class.getDeclaredField("mTitleTextView"); 
      field.setAccessible(true); 
      title = (TextView) field.get(this); 
      title.setEllipsize(TextUtils.TruncateAt.MARQUEE); 
      title.setMarqueeRepeatLimit(-1); 
      return true; 
     } catch (NoSuchFieldException e) { 
      e.printStackTrace(); 
      return false; 
     } catch (IllegalAccessException e) { 
      e.printStackTrace(); 
      return false; 
     } catch (NullPointerException e) { 
      e.printStackTrace(); 
      return false; 
     } 
    } 

    public void selectTitle() { 
     if (title != null) 
      title.setSelected(true); 
    } 
} 
+0

können wir einige Änderungen in der vorhandenen Bibliothek haben, so dass wir keine weitere Ansicht einführen müssen. ? –

Verwandte Themen