2016-06-10 4 views
0

У меня возникает странное поведение при использовании CollapsingToolbarLayout, панели инструментов и встроенного ImageView. Вот мой код:Glide + CollapsingToolbarLayout странное поведение

<android.support.design.widget.AppBarLayout 
     android:id="@+id/bla" 
     android:layout_width="match_parent" 
     android:layout_height="256dp"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      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="@color/md_white_1000" 
       android:minHeight="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" 
       app:theme="@style/ThemeOverlay.AppCompat.Light" /> 

      <ImageView 
       android:id="@+id/fragment_kids_profile_pic" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scaleType="centerCrop" /> 

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

И строитель Glide:

Glide.with(getActivity()) 
       .load(file) 
       .fitCenter() 
       .into(profilePicture); 

Перед установкой изображения с помощью Glide, поведение панели инструментов работает точно как и положено, в моем случае «стержневой». После установки изображения макет панели инструментов пропадает, и изображение происходит (после прокрутки). Некоторые фото уточнить:

Перед установкой картины: Before scrollingenter image description hereenter image description hereenter image description here

Любая помощь будет оценен по достоинству!

ответ

4

Это происходит потому, что CollapsingToolbarLayout распространяется FrameLayout. В FrameLayout последний вид в иерархии представлений - один сверху (если вы его не изменили в коде), так что это нормально, что ваш ImageView охватывает Toolbar. Для того, чтобы решить эту проблему «» вы должны просто изменить порядок:

<android.support.design.widget.AppBarLayout 
    android:id="@+id/bla" 
    android:layout_height="256dp" 
    android:layout_width="match_parent"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      android:id="@+id/fragment_kids_profile_pic" 
      android:layout_height="match_parent" 
      android:layout_width="match_parent" 
      android:scaleType="centerCrop" /> 

     <android.support.v7.widget.Toolbar 
      android:background="@color/md_white_1000" 
      android:id="@+id/toolbar" 
      android:layout_height="?attr/actionBarSize" 
      android:layout_width="match_parent" 
      android:minHeight="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" 
      app:theme="@style/ThemeOverlay.AppCompat.Light" /> 
    </android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

Перед тем, как установить изображение с помощью Glide фона ImageView «s был прозрачным, поэтому вы можете увидеть Toolbar.

+0

Это именно то, что мне нужно, большое вам спасибо! – Leonardo

+0

@ LeonardoFerrari Np! –

Смежные вопросы