Подтвердить что ты не робот

Альфа-градиент на Android

Мне нужно создать альфа-градиент на краю ImageView. Предпочтительно использовать только XML.

Изображение, например,

4b9b3361

Ответ 1

Здесь решение

изображение выглядит следующим образом

enter image description here

для этого:

  • Подготовить форму для рисования

Рез/рисуем/gradient_shape.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
            android:startColor="#00FFFFFF"
            android:endColor="#FFFFFFFF"
            android:type="linear" />
</shape>

Определить макет: activity_main.xml:

<ImageView
    android:id="@+id/photo"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/photo"
    android:src="@drawable/gradient_shape" />

здесь drawable/photo - это просто jpeg в папке drawables

ИЗМЕНИТЬ  для получения дополнительной информации см. этот Учебник

Ответ 2

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <gradient
                android:startColor="#00FFFFFF"
                android:endColor="#FFFFFFFF"
                android:type="linear" />
    </shape>

совершенная трансперенситивность. Убедитесь, что градиент "Вид ниже" находится внизу и не только касается формы "Градиентная форма".

Если у вас есть основной RelativeLayout, ListView и Просмотр (фон: градиент)

убедитесь, что Градиентный просмотр находится сверху, списка ListView, а не стороны. Если ваш градиент в стороне, он будет прозрачным с помощью RelativeLayout Цвет фона, а не ListView.

Надеюсь, ты поймешь, что я хочу сказать.

Ответ 3

Для прозрачности:

android:startColor="@null"

Или вы можете использовать 8-значный шестнадцатеричный цвет, например:

android:startColor="#FF000000"

Первые два FF для альфа цвета, 00 полностью прозрачный и непрозрачный FF