_3.1416
_のような小数値をリソースに保存するにはどうすればよいですか? XMLに何を記述し、それをJavaコードで取得する方法は?
getFraction()
のドキュメントには次のように記載されています。
public float getFraction (int id, int base, int pbase)
特定のリソースIDの小数単位を取得します。
パラメータ
base
この分数の基数。つまり、標準の分数にこの値を掛けます。pbase
この分数の親の基数。つまり、親の分数(nn%p)にこの値を掛けます。返品
属性の小数値に適切な基本値を掛けたもの
この回答 は、引数の意味の詳細に立ち入ることなく、パーセンテージの簡単な例を示しています。
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
引数のみが使用され、分数にこれが乗算されます。