Использование attr в форме XML вызывает cra sh in Android - PullRequest
0 голосов
/ 20 марта 2020

У меня есть ничья в этом XML:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:endColor="@color/transparent"
        android:gradientRadius="200dp"
        android:startColor="?attr/primaryDarkTransparent"
        android:type="radial" />
</shape>

XML вызывает cra * sh, когда startColor использует ?attr/primaryDarkTransparent, говоря:

Caused by: java.lang.RuntimeException: org.xmlpull.v1.XmlPullParserException: <internal><gradient> tag requires 'gradientRadius' attribute with radial type Caused by: org.xmlpull.v1.XmlPullParserException: <internal><gradient> tag requires 'gradientRadius' attribute with radial type

Драматическая история c заключается в том, что она работает очень хорошо, когда я использую attr в solid и stroke, но я не знаю, что, черт возьми, происходит в gradient.

Будем благодарны за любые советы.

1 Ответ

0 голосов
/ 21 марта 2020

В вашем shape.

  1. ниже Android L (API 21) есть две проблемы: вы не можете использовать атрибуты в пользовательских чертежах, поэтому вам следует заменить ?attr/primaryDarkTransparent со ссылкой color.

  2. gradientRadius должно быть float. Например, 200

...