해결책이 있습니다.
<resources>
<item name="text_line_spacing" format="float" type="dimen">1.0</item>
</resources>
이런 식으로 float 숫자는 @dimen 아래에있게됩니다. 형식이 다음을 나타내는 다른 "format"및 / 또는 "type"수정자를 사용할 수 있습니다.
형식 = 둘러싸는 데이터 유형 :
유형은 다음을 나타냅니다.
유형 = 리소스 유형 (R.XXXXX.name으로 참조) :
코드에서 리소스를 가져 오려면이 스 니펫을 사용해야합니다.
TypedValue outValue = new TypedValue();
getResources().getValue(R.dimen.text_line_spacing, outValue, true);
float value = outValue.getFloat();
나는 이것이 혼란 스럽다는 것을 알고 있지만 (당신과 같은 전화를 기대할 것입니다. getResources().getDimension(R.dimen.text_line_spacing)) Android dimensions는 특별한 대우를 받았으며 순수한 "float"번호는 유효한 차원이 아닙니다.
또한 플로트 수를 치수에 넣는 작은 "해킹"이 있지만 이것이 실제로 해킹 된 것이므로 경고 범위와 정밀도를 잃을 위험이 있습니다.
<resources>
<dimen name="text_line_spacing">2.025px</dimen>
</resources>
코드에서 플로트를 얻을 수 있습니다.
float lineSpacing = getResources().getDimension(R.dimen.text_line_spacing);
이 경우, 값 lineSpacingIS는 2.024993896484375, 그리고 2.025당신이 예상하는 것처럼.