3

我正在使用當前正在處理的項目中的摺疊工具欄。我從我的代碼設置摺疊工具欄的標題,但問題是如果標題太大,那麼它與我的菜單圖標在工具欄中重疊。那麼我該如何解決這個問題?摺疊工具欄標題與我的菜單圖標重疊

標題重疊與菜單圖標: Title OverLaps with menu Icon

我的XML代碼:

<android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="205dp" 
     android:fitsSystemWindows="true" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/agent_profile_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginBottom="87dp" 
      app:expandedTitleMarginStart="130dp" 
      app:expandedTitleTextAppearance="@style/expandedappbar" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="#fff" 
       android:fitsSystemWindows="true" 
       app:layout_collapseMode="parallax"> 

       <ImageView 
        android:id="@+id/backdrop" 
        android:layout_width="match_parent" 
        android:layout_height="170dp" 
        android:fitsSystemWindows="true" 
        android:scaleType="centerCrop" 
        android:src="@drawable/back" /> 

       <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="170dp" 
        android:background="#66000000"> 

        <LinearLayout 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_alignParentBottom="true" 
         android:layout_marginBottom="8dp" 
         android:layout_marginLeft="130dp" 
         android:orientation="vertical"> 

         <TextView 
          android:id="@+id/lbl_agent_profile_position" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_below="@+id/lbl_agent_profile_Name" 
          android:layout_marginBottom="5dp" 
          android:ellipsize="end" 
          android:maxLines="1" 
          android:text="Real Estate Professional at Exit Alliance Realty" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:textColor="#fff" 
          android:textSize="12sp" 
          android:typeface="sans" /> 


         <TextView 
          android:id="@+id/lbl_agent_profile_ibaaxid" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:background="#33ffffff" 
          android:paddingBottom="1dp" 
          android:paddingEnd="3dp" 
          android:paddingLeft="3dp" 
          android:paddingRight="3dp" 
          android:paddingStart="3dp" 
          android:paddingTop="1dp" 
          android:text="iBaax ID : 123456789" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:textColor="#fff" 
          android:textSize="12sp" 
          android:typeface="sans" /> 
        </LinearLayout> 
       </RelativeLayout> 

       <LinearLayout 
        android:id="@+id/lnr_img" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:padding="2dp" 
        android:background="#fff" 
        android:layout_marginLeft="10dp" 
        android:layout_marginStart="10dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"> 

        <ImageView 
         android:id="@+id/img_agent_profile_image" 
         android:layout_width="110dp" 
         android:layout_height="110dp" 

         android:scaleType="centerCrop" 
         android:src="@drawable/no_profile" /> 
       </LinearLayout> 


       <Button 
        android:layout_width="wrap_content" 
        android:layout_height="22dp" 
        android:layout_below="@+id/backdrop" 
        android:layout_marginLeft="8dp" 
        android:layout_marginTop="8dp" 
        android:layout_toRightOf="@+id/lnr_img" 
        android:background="#4d6088" 
        android:paddingEnd="3dp" 
        android:paddingLeft="3dp" 
        android:paddingRight="3dp" 
        android:paddingStart="3dp" 
        android:text="Write Review" 
        android:textAllCaps="false" 
        android:textSize="12sp" /> 
      </RelativeLayout> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/AppTheme.PopupOverlay" /> 

     </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 

在我活動的onCreate方法的代碼:

setContentView(R.layout.activity_agent_profile2); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    //getSupportActionBar().setTitle("Name"); 
    agent = (Agent) getIntent().getSerializableExtra("Agent"); 
    CollapsingToolbarLayout collapsingToolbar = 
      (CollapsingToolbarLayout) findViewById(R.id.agent_profile_toolbar); 
    collapsingToolbar.setTitle(agent.name); 
+0

爲ellipsize工作儘量給予標題TextView的 –

+0

固定寬度沒有TextView的我的標題。我直接從我的代碼中使用collapsetoolbar.setTitle(「」); –

回答

1

我修正了它。我不是爲什麼它能夠工作。我必須爲expandedTitle和collapseTitle分別使用不同的textSizes。如果他們是相同的textSizes那麼它會工作。下面是我下面的款式,

<style name="expandedappbar" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textSize">20sp</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:ellipsize">end</item> 
    <item name="android:maxLines">1</item> 
    <item name="android:width">100dp</item> 
</style> 
<style name="collapseappbar" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textSize">18sp</item> 
    <item name="android:textStyle">bold</item> 
</style> 

和佈局:

<android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/agent_profile_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginBottom="87dp" 
      app:expandedTitleMarginStart="130dp" 
      app:expandedTitleTextAppearance="@style/expandedappbar" 
      app:collapsedTitleTextAppearance="@style/collapseappbar" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

和屏幕截圖,以證明它的工作原理,

Fixed

+0

不適用於我。支持lib版本是'25.2.0' – danik

0

這不起作用?

getSupportActionBar()。setTitle(「LongTitle」);

+0

不,它沒有。標題完全消失。 –

+0

您需要在CollapsingAppBar上設置標題,而不是在工具欄上。 – Booger

0

我的解決辦法是聽倒塌的CollapsingToolbarLayout進展。當它完全崩潰我禁用AppBarLayout標題並將其設置爲活動:

@Override 
public void onAppBarOffsetChanged(AppBarLayout appBarLayout, int offset) { 
    boolean collapsed = offset == appBarLayout.getTotalScrollRange(); 
    collapsingToolbarLayout.setTitleEnabled(!collapsed); 
    getActivity().setTitle(collapsed ? title : null); 
}