Android アプリケーションのカスタム ビューにカスタム属性を使用しています。カスタム属性に float 値を指定したいと考えています。
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/レイアウト/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) 文字列型は許可されていません (値 '4f' の 'paintStroke' で)。
作業スニペット:
カスタム float 属性値に「4」または「4.0」を指定するだけです。末尾に「f」を付ける必要はありません。