Вместо использования shape
с gradient
используйте layer-list
с 2 gradients
с указанной высотой для каждого
API 21
android:bottom
, Атрибуты android:top
представляют заполнение для списка слоев, измените их, чтобы изменить процент отображаемого градиента
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:bottom="690dp"
android:gravity="top">
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:type="linear"
android:endColor="@android:color/transparent"
android:startColor="#000000" />
</shape>
</item>
<item
android:top="610dp"
android:gravity="bottom">
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:type="linear"
android:endColor="#000000"
android:startColor="@android:color/transparent" />
</shape>
</item>
Если ваш minSDK
равен 23+, тогда проще указать height
для каждого типа слоя
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:height="40dp"
android:gravity="top">
<shape android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="@android:color/transparent"
android:startColor="#000000"
android:type="linear" />
</shape>
</item>
<item
android:height="70dp"
android:gravity="bottom">
<shape android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#000000"
android:startColor="@android:color/transparent"
android:type="linear" />
</shape>
</item>
Затем просто примените это как background
вашего ViewPager
Попробуйте это, надеюсь, это решит вашу проблему