次のように XML で分数を指定します。
<item name="fraction" type="fraction">5%</item>
<item name="parent_fraction" type="fraction">2%p</item>
実際に使用すると、5% は 0.05 になります。
それで:
// 0.05f
getResources().getFraction(R.fraction.fraction, 1, 1);
// 0.02f
getResources().getFraction(R.fraction.parent_fraction, 1, 1);
// 0.10f
getResources().getFraction(R.fraction.fraction, 2, 1);
// 0.10f
getResources().getFraction(R.fraction.fraction, 2, 2);
// 0.04f
getResources().getFraction(R.fraction.parent_fraction, 1, 2);
// 0.04f
getResources().getFraction(R.fraction.parent_fraction, 2, 2);
ご覧のとおり、分数の種類に応じて、getFraction
メソッドはそれに応じて値を乗算します。親分数 ( ) を指定すると、最初の引数を無視して%p
2 番目の引数 ( ) が使用されます。pbase
一方、通常の分数を指定すると、base
引数のみが使用され、分数にこれが乗算されます。