Получение типов String недопустимо (в 'paintStroke' со значением '4f') ошибка для атрибута значения типа с плавающей запятой

Я использую пользовательские атрибуты для моего пользовательского представления в моем приложении для Android. Я хочу дать значение с плавающей точкой для моего пользовательского атрибута.

RES / значения / attrs.xml

 <?xml version="1.0" encoding="UTF-8"?>
     <resources>
      <declare-styleable name="CanvasView">
        <attr name="backgroundColor" format="color"/>
        <attr name="paintColor" format="color"/>
        <attr name="paintStroke" format="float"/>
      </declare-styleable>
     </resources>

разреш / макет / view.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <com.example.canvaspoc.CanvasView
        xmlns:customAttrs="http://schemas.android.com/apk/res/com.example.canvaspoc"
        android:id="@+id/canvas"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        customAttrs:backgroundColor="@android:color/holo_green_light"
        customAttrs:paintColor="@android:color/secondary_text_light"
        customAttrs:paintStroke="4f"/>
</RelativeLayout>

Но когда я пытаюсь запустить приложение, оно дает мне следующую ошибку

Ошибка:(15, 34) Типы строк не допускаются (в 'paintStroke' со значением '4f').

Рабочий фрагмент:

Нам просто нужно дать "4" или "4,0" для пользовательских значений атрибута с плавающей точкой. Нет необходимости добавлять 'F' в конце.

0 ответов

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