android studio 的新手,我被看似最简单的事情困住了,我希望得到一些帮助:
在我的 activity_main.xml 文件中,我注意到我多次使用了一个值 (0.9),我认为最好将其更改为从资源中读取而不是在每个资源上都使用硬编码数字。
我在我的 res/values 文件夹下创建了一个名为 numbers.xml 的文件,在引用该值失败后,我得到了以下代码:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:ns1="http://schemas.android.com/tools" xmlns:ns2="urn:oasis:names:tc:xliff:document:1.2">
<integer name="aaa">8</integer>
<item name="guideline_perc" type="dimen">0.5</item>
<float name="number">0.9</float>
<dimen name="num2" type="float">0.6</dimen>
</resources>
看来我只能引用第一个值,例如:
app:layout_constraintVertical_bias="@integer/aaa"
但是我想引用其他值,而不是整数,我该怎么做? 我唯一能想到的是这个属性只得到整数,但它没有任何意义,因为只有 0.x 会在屏幕上显示这个属性所属的按钮。
任何帮助表示赞赏。
谢谢!
要引用您在 numbers.xml 文件中定义的其他值,您需要在引用它们时使用适当的类型。
例如,要引用“dimen”类型的“guideline_perc”值,可以使用以下语法:
app:layout_constraintVertical_bias="@dimen/guideline_perc"
类似地,要引用“float”类型的“number”值,您可以使用:
app:some_property="@float/number"
要引用类型“dimen”的“num2”值,您可以使用:
app:some_property="@dimen/num2"
确保在引用您的值时使用适当的类型,因为使用错误的类型会导致意外行为。