Android: создать тень от пути

есть ли способ создать падающую тень с возможностью рисования с путем, как показано ниже:

<vector xmlns:android = "http://schemas.android.com/apk/res/android"
        android:width = "24dp"
        android:height = "24dp"
        android:viewportHeight = "24.0"
        android:viewportWidth = "24.0">
    <path
        android:fillColor = "#FFFFFF"
        android:pathData = "M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
</vector>

и xml, и программно было бы хорошо. Я попытался провести небольшое исследование, но ничего не нашел.

Обновлено: в идеале мне понадобится повторное использование с любым вектором. Что-то типа:

<layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
    <item>
        //magic happens
    </item>
    <item>
        <include> my_vector </include>
    </item>
</layer-list>

опять же, даже программно нормально, если не лучше

4
0
3 545
2

Ответы 2

 <layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
<item >
    <vector xmlns:android = "http://schemas.android.com/apk/res/android"
        android:width = "24dp"
        android:height = "24dp"
        android:viewportHeight = "24.0"
        android:viewportWidth = "24.0">
        <path
            android:fillColor = "#A9A9A9"
            android:pathData = "M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
    </vector>
</item>
<item>
    <vector xmlns:android = "http://schemas.android.com/apk/res/android"
        android:width = "24dp"
        android:height = "24dp"
        android:viewportHeight = "25.0"
        android:viewportWidth = "25.0">
        <path
            android:fillColor = "#ffffff"
            android:pathData = "M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
    </vector>
</item>

пожалуйста, проверьте этот код.

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

jack_the_beast 10.12.2018 15:08

вы можете добавить такое использование

    <?xml version = "1.0" encoding = "utf-8"?>
<vector xmlns:android = "http://schemas.android.com/apk/res/android"
android:width = "24dp"
android:height = "24dp"
android:viewportWidth = "24"
android:viewportHeight = "24">

<path
    android:fillColor = "#ffffff"
    android:pathData = "M15 12.28L20.37 18.35L17.36 21.75L12 15.68L6.64 21.75L3.63 18.35L9 12.28L3.63 6.21L6.64 2.81L12 8.88L17.36 2.81L20.37 6.21L15 12.28Z" />
<path
    android:fillColor = "#ffffff"
    android:strokeWidth = "1"
    android:pathData = "M15 12.28L20.37 18.35L17.36 21.75L12 15.68L6.64 21.75L3.63 18.35L9 12.28L3.63 6.21L6.64 2.81L12 8.88L17.36 2.81L20.37 6.21L15 12.28Z" />

Другие вопросы по теме