我知道这是一个简单的问题,所以希望对任何人都不会有任何麻烦。
如何在项目中拥有一个可以从View
的XML和.java文件访问的常量浮点值?
我已尝试在View
的资源文件中设置浮点值:
<attr name="cornerRadius" format="float">15.0dp</attr>
我相信应该怎么做,但我只是用直觉做到了。我真的很想在这个问题上谷歌。
现在,为了用Java访问它,我试过了:
float myFloat = getContext().obtainStyledAttributes(attrs, R.styleable.MyView).getFloat(R.styleable.MyView_cornerRadius, 0.0f);
这让我失望,因为它没有得到正确的值,而是我在函数中传递的值。为什么我将浮点值传递给此函数?必须有不同的选择。
现在,最大的问题是我在XML中访问它..我试过这个:
<corners android:radius="@attrs_my_view/cornerRadius"/>
我也试过这个:
<corners android:radius="@float/cornerRadius"/>
但无济于事。
也许这一切都是完全错误的,但我不知道如何在谷歌搜索这个,因为我不知道它叫什么。它就像根据其含义在字典中查找单词一样。现在不是个好时光。
答案 0 :(得分:0)
您可以创建一个包含常量的XML文件。这听起来像一个维度,标准地存储在dimens.xml文件中。将其放在res / values文件夹中。
因此,您可能有一个文件(名为dimens.xml),其中包含以下内容:
<resources>
<dimen name="cornerRadius">15dp</dimen>
</resources>
然后你可以使用普通的R.class(即R.dimen.cornerRadius)引用它 - 你可以从XML或Java引用它。