Earlier today, I was trying to figure out how to add a float value to constants file. What I used to do was add a string value in my strings.xml, retrieve the string value, and convert it to float.

float floatFromFile = Float.valueOf(getResources().getString(R.string.my_float));

I was trying out something new but it wasn’t working, so I decided to look for a more accepted solution. Google led me to this StackOverflow question. I was on the right track after all! I think the accepted answer is incomplete, or not clear enough for my purposes.

I ended up having this entry in my dimensions.xml file:

<item name="face_feature_marker_size" type="vals" format="float">2.0</item>

And then in my code, I retrieve the value as:

TypedValue tempVal = new TypedValue();
getResources().getValue(R.vals.face_feature_marker_size, tempVal, true);
float markerSize = testVal.getFloat();</pre>

I ended up having more lines of code with no idea if this is more optimized. Let me know what you think!