36

3.1416リソースのように小数値を保存するにはどうすればよいですか? XML に何を書き、Java コードでそれを取得するか?

状態のドキュメントgetFraction():

public float getFraction (int id, int base, int pbase)

特定のリソース ID の端数単位を取得します。

パラメータ
base この分数の基準値。つまり、標準分数にこの値を掛けます。
pbase この分数の親ベースの値。つまり、親分数 (nn%p) にこの値が乗算されます。


属性の小数値に適切なベース値を掛けた値を返します

この回答は、引数の意味の詳細に立ち入ることなく、パーセンテージの簡単な例を示しています。

4

1 に答える 1

49

次のように 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メソッドはそれに応じて値を乗算します。親分数 ( ) を指定すると、最初の引数を無視して%p2 番目の引数 ( ) が使用されます。pbase一方、通常の分数を指定すると、base引数のみが使用され、分数にこれが乗算されます。

于 2013-06-10T15:50:20.950 に答える