#android #android-layout #android-custom-view #android-custom-attributes
#Android #android-макет #android-пользовательский вид #android-пользовательские атрибуты
Вопрос:
Я использую пользовательские атрибуты для своего пользовательского представления в моем приложении для Android. Я хочу указать значение с плавающей запятой для моего пользовательского атрибута.
res/values/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>
res/layout/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’ в конце.
Комментарии:
1. зачем вам нужно
f
в конце?2. Какие-либо проблемы только с 4 или 4.0?
3. Мне нужно значение с плавающей запятой для этого атрибута, я не пробовал 4. Я подумал, что нам нужно указать ‘f’ в конце для значения с плавающей запятой
4. Вместо этого используйте 4.0!
5. Работает только 4 или 4.0. Спасибо, ребята