Как добавить градиент к ImageView, вложенному в CollapsingToolbar

Я работаю над Android-приложением с материальным дизайном. У меня есть подробный вид с CollapsingToolbarLayout и ImageView (пока все отлично работает). К сожалению, заголовок не читается, если есть яркое изображение. Скриншот этой проблемы Пока я попытался добавить градиент ( добавьте градиент в изображение ), но это решение не сработало для меня из-за 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:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:layout_height="256dp" android:layout_width="match_parent" 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" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="@color/primary" android:fitsSystemWindows="true" app:expandedTitleMarginEnd="50dp" app:expandedTitleMarginStart="50dp" > <!--<View android:background="@drawable/actionbar_gradient_dark" />--> <ImageView android:id="@+id/backimg" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:layout_collapseMode="parallax" android:scaleType="centerCrop" app:layout_scrollFlags="scroll|enterAlways" /> <android.support.v7.widget.Toolbar android:id="@+id/detailToolbar" android:layout_height="?attr/actionBarSize" android:layout_width="match_parent" app:layout_collapseMode="pin" app:layout_collapseParallaxMultiplier="0.7" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> </android.support.design.widget.CollapsingToolbarLayout> 

Кто-нибудь знает решение этой проблемы?

Оберните свой ImageView в FrameLayout и добавьте представление с фоном:

 <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/backimg" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:layout_collapseMode="parallax" android:scaleType="centerCrop" android:src="@drawable/image" app:layout_scrollFlags="scroll|enterAlways" /> <View android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/actionbar_gradient_dark" /> </FrameLayout> 

Убедитесь, что ваш градиент выглядит примерно так:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="90" android:endColor="@android:color/transparent" android:startColor="@android:color/black" /> <corners android:radius="0dp" /> </shape> 
Intereting Posts