0

我正在使用android設計支持庫25.0.1,在摺疊工具欄佈局中存在一個標題問題,我的標題很長,並且在擴展條件下它被省略了,即使有空間爲它顯示。摺疊工具欄佈局android標題ellipsizes

是否有任何解決方案,我們可以在展開模式下使用ellipsize顯示標題。 。

although there is some space availbale the title is ellispsized

摺疊式工具代碼:

<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

添加布局和關聯文件的代碼。 – blizzard

+0

@blizzard添加了代碼片段,請看看 –

回答

0

可以創建自定義字幕,能夠工具欄,該代碼可以幫助你

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

我們是否可以對現有庫進行一些修改,以便我們不需要再介紹一個視圖。 ? –

相關問題