0

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」を付ける必要はありません。

4

0 に答える 0