Получение типов 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' в конце.