2016-10-12 5 views
0

기사를 접을 때 표지 이미지를 표시하기 위해 CollapsingToolbarLayout을 사용하고 있습니다. 이렇게하려면 내 Activity에서 setBackground를 사용하십시오. 그것은 붕괴되지 않았을 때만 이미지를 보여 주었고 조금 스크롤 한 후에 내 앱의 기본 색상으로 바꿨지 만 지금은 이미지를 툴바 배경으로 계속 보여줍니다. 내 코드에서 https://gist.github.com/anonymous/7c68a84e40568d276fd329370e5224fa
난 그냥 전화 : 여기에 (그냥 안드로이드 스크롤 활동 예제 레이아웃 기본적으로) 내 레이아웃입니다CollapsingToolbarLayout contentScrim이 무시됩니까?

findViewById(R.id.viewarticle_appbarlayout).setBackground(image); 

답변

4

당신이 배경으로하고 AppBarLayout의 이미지를 설정하는 선택하는 이유 확실하지. CollapsingToolbarLayout을 사용하고 있으므로 ImageView를 자식으로 추가 한 다음 축소 모드를 제어 할 수 있습니다. 기본적으로 background 및 contentScrim은 CollapsingToolbarLayout에 의해 제어됩니다.

<?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" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

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

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/article_collapsingtoolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      android:id="@+id/article_image" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      android:scaleType="centerCrop" 
      android:src="@drawable/temp_img" 
      app:layout_collapseMode="parallax" /> 

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

    </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 
</android.support.design.widget.CoordinatorLayout> 
+0

: 여기

은 작업 예입니다. 이미지 뷰를 사용하면 완벽하게 작동합니다. 감사합니다! –

+1

CollapsingToolbarLayout에는 2 개의 하위 항목 (이미지 + 툴바)이있을 수 있지만 이미지는 첫 번째 하위 항목이어야하며 축소되면 사라집니다. – FeelCode

0

CollapsingToolbarLayout는 최대 두 개의 직접 차일을 포함 할 수 있습니다.

  1. 뷰/뷰 그룹과
  2. 도구 모음

당신이 첫번째 자식으로 보기/뷰 그룹을 두어야 다음 붕괴 및 유지/확대시/숨기기 뷰/뷰 그룹을 보여주고 싶은 경우 도구 모음의 두 번째 자식으로 CollapsingToolbarLayout. 나는 당신이 만에 하나 아이 뷰를 가질 수 있다고 생각

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

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="250dp" 
     android:fitsSystemWindows="true" 
     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="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginBottom="32dp" 
      app:expandedTitleMarginEnd="16dp" 
      app:expandedTitleMarginStart="70dp" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <ImageView 
       android:id="@+id/img_group_photo" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:fitsSystemWindows="true" 
       android:scaleType="centerCrop" 
       app:layout_collapseMode="parallax" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/anim_toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
     </android.support.design.widget.CollapsingToolbarLayout> 

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

    <!-- Content --> 
</android.support.design.widget.CoordinatorLayout>