如何从“声明风格”获得双倍价值

时间:2017-06-25 20:26:47

标签: android double declare-styleable

如何从声明样式获取双倍值

attributes.xml

<declare-styleable name="MeterView">
    <attr name="volume" format="double"/> // Can't resolved format
</declare-styleable>

为meterView

指定double值
<com.test.example.MeterView
    android:id="@+id/meter1"
    android:layout_width="295dp"
    android:layout_height="150dp"
    app:volume="123456789.01"/>

调用attributes.xml

Double volume = a.getDouble(R.styleable.MeterView_volume); // Can't resolved getDouble

1 个答案:

答案 0 :(得分:2)

在attributes.xml文件中使用 float 而不是double。不允许双倍。

<declare-styleable name="MeterView">
        <attr name="volume" format="float"/> 
</declare-styleable>

a.getFloat(R.styleable.MeterView_volume);

在运行时使用字符串并将String转换为double。

<declare-styleable name="MeterView">
            <attr name="volume" format="string"/> 
 </declare-styleable>

double d= Double.parseDouble(a.getString(R.styleable.MeterView_volume));