Создание Android Shape с закругленными углами, тенью и пользовательским изображением - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь создать shape для ImageView, который бы имел закругленные углы, фактический image и тень. Когда я создал shape и установил следующие переменные, я получил округленное изображение с некоторой тенью:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#42000000" />
    <corners android:radius="5dp" />
</shape>

Теперь, когда я попытался добавить свое собственное изображение (как многие предлагали, я использовал Layer-list, я получил изображение, но закругленные углы и тень исчезли:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <solid android:color="#42000000" />
            <corners android:radius="5dp" />
        </shape>
    </item>

    <item android:drawable="@drawable/no_cover_art" />
</layer-list>

Кроме того, я буду менять «изображения» программно, так что, возможно, это тоже необходимо упомянуть.

Что я делаю не так и как получить закругленные углы с тенями и нестандартным изображением?

EDIT Я пытался использовать только фигуру в качестве прорисовки, но я получаю результат, когда он применяет углы к чему-то позади него и не меняет сам ImageView.

<ImageView
android:id="@+id/song_album_cover"
android:layout_width="64dp"
android:layout_height="68dp"
android:layout_marginStart="8dp"
android:layout_marginTop="6dp"
android:elevation="18dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/no_cover_art"
android:background="@drawable/artist_cover_image"/>

С левой стороны - изображение того, что Android Studio показывает мне, а с правой стороны - изображение, когда я действительно запускаю приложение.

enter image description here

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

/ используйте необходимость, чтобы использовать эту вещь ниже в представлении изображения и поместить свой код в файл для рисования, а затем добавить следующим образом / Android: фон = "@ вытяжка / nameofdrawablefile"

0 голосов
/ 09 ноября 2018

Используйте drawable в качестве фона для просмотра изображения, а затем установите src на любое изображение, которое вы хотите.

...