2016-05-17 4 views
0

У меня есть макет, как это:Android Тень на Бент Layout

enter image description here

Вид снизу просто framelayout с вектором Drawable с формой прямоугольника с короткой стороной, так что есть пустое пространство там, которое невидимо. Серая тень - это то, чего я хочу достичь. У меня есть тень в моем приложении, которое я использую для нижней части некоторых макетов (которые сейчас не согнуты).

Итак, мой вопрос в том, есть ли способ сделать это? Idk, возможно, поворачивает горизонтальный ресурс, выделяемый теневыми выделениями, или подобно обычной горизонтальной тени, затем поворачивает его под прямым углом и устанавливает setX() в нужное положение. Нужны некоторые советы по этому поводу, предпочли бы получить список слоев с моим векторным рисунком и тенью ниже, но я никогда этого не делал. Это возможно?

EDIT: Vector Drawable:

<vector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="500dp" 
    android:height="100dp" 
    android:viewportWidth="500" 
    android:viewportHeight="100"> 

    <path 
     android:fillColor="@color/colorPrimary" 
     android:pathData="M 0 0 L 500 0 L 500 65 L 0 100 L 0 0 Z" /> 
</vector> 

PS. Вектор повернут на 45º x и y в коде

+0

Вы можете разместить свой векторный код? –

+0

обязательно обновил главный вопрос –

ответ

0

Решил эту проблему, реализовав View Outline Provider в представлении, я хотел отобразить пользовательскую тень.

Затем я создал выпуклый пакет outline.setConvexPath по методу getOutline с нужной дорогой, чтобы сделать тень. Работает безупречно.

Смежные вопросы