2016-10-12 7 views
0

私はCollapsingToolbarLayoutを使用して記事が折りたたまれていないときの表紙画像を表示しています。これを行うには、自分のアクティビティでsetBackgroundを使用します。それは、私がちょっとスクロールした後に、折りたたまれていないときにのみイメージを表示し、次に私のアプリの原色を変えていましたが、今はツールバーの背景としてイメージを表示し続けています。ここに私のレイアウトは、(基本的にはAndroidのスクロール活動のレイアウト例である)です:私のコードでは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は、最大で2つの直接チャイルズが含まれていてもよいです。

  1. ビュー/のViewGroupと
  2. ツールバー

あなたが/非表示を表示したい場合はビュー/のViewGroup拡大/縮小時に、あなたは最初の子としてビュー/のViewGroupを入れておく必要がありますツールバーの2番目の子としてCollapsingToolbarLayout。私はあなたがそれだけで1つのビューを持っていると考えていた

<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> 
関連する問題