我想爲我的collapsingToolbarLayout
創建自定義contentScrim。我的collapsingToolbarLayout裏面有一個imageview
。當它滾動,在理論上的ImageView是假設淡出我的棉麻織物顏色想淡入CollapsingToolbarLayout:與Facebook類似的自定義contentScrim
我們都知道,我們可以建立這樣的紗幕。
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="?attr/colorPrimary"
android:background="@color/white"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp"
android:fitsSystemWindows="true"
app:expandedTitleTextAppearance="@color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
>
但是Android的默認紗幕只有當您在屏幕上滾動3/4時,似乎纔開始工作。在這之前,imageview仍然完全顯示。此外,當你到達屏幕的3/4,在紗幕踢和自動改變collapsingtoolbarlayout的顏色,你的棉麻織物顏色:
而是有它完全填滿屏幕滾動時3/4的方式和我們到達toolbar
之前,我希望它輕輕地褪色,直到您滾動到toolbar
。
如果您想查看我想創建的效果示例,請查看Facebook應用程序。這是Facebook的應用程序時,collapsingToolbarLayout完全展開:
當你滾動的方式約3/4下來,collapsingToolbarLayout有褪色的藍色和藍色沒有完全飽和:
所以我裏面創建以下我collapsingToolbarLayout
:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/frame_picture">
<com.customshapes.SquareImageView
android:id="@+id/backdrop"
android:contentDescription="@string/photo"
android:transitionName="@string/transition"
android:layout_width="match_parent"
android:layout_height="240dp"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
/>
<com.customshapes.SquareImageView
android:id="@+id/fading_backdrop"
android:layout_width="match_parent"
android:background="?attr/colorPrimary"
android:layout_height="240dp"
android:alpha="0"
android:fitsSystemWindows="true"
/>
</FrameLayout>
framelayout由背景imageview
組成,其中包含顯示在我的collapsingToolbarLayout中的圖片,並且在它的前面是一個imageview,它只保存'scrimColor'?attr/colorPrimary,alpha爲0,以便背景imageview
將閃耀。
然後我實現了appBarLayout的onOffsetChangedListener:
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
fading_backdrop.setImageAlpha(verticalOffset);
fading_backdrop.invalidate();
}
我們正在設置fading_backdrop的阿爾法這樣,當我們向上滾動,它就會出現。我試圖人造地創建一種稀鬆布。
但是,這似乎並沒有正常工作。當我運行這個代碼時,根本沒有衰落。有誰知道我做錯了什麼?
什麼是fading_backgrop在這裏? –
請注意,如果您使用TabLayout或透明狀態欄,則可能需要將這些添加到「f」的計算中。 –