2012-07-31 15 views
24

3.1416 gibi kesirli bir değeri kaynaklarda nasıl depolarım? XML'de ne yazılır ve Java kodunda nasıl alınır?Birisi Resources.getFraction() nasıl kullanılır?

belgeleri getFraction() için durumları:

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

belirli bir kaynak kimliği için bir fraksiyonel birimi al.

Parametreler
base bu fraksiyonun temel değer. Başka bir deyişle, standart bir kesir, bu değer ile çarpılır. Bu fraksiyonun üst taban değeri . Diğer bir deyişle, bir üst fraksiyon (nn% p) bu değerle çarpılır.

İade

This answer argümanlar ne anlama geldiğini ayrıntılarına girmeden yüzdelerin basit bir örneği göstermektedir uygun baz değeri ile çarpılarak fraksiyonel Özellik değeri.

cevap

33

Sen şekilde XML kesirler belirtin: aslında kullanıldığında

<item name="fraction" type="fraction">5%</item> 
    <item name="parent_fraction" type="fraction">2%p</item> 

5% 0.05 olacağını yere. Daha sonra

:

// 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); 

Eğer fraksiyonu türüne bağlı olarak, görüldüğü gibi, getFraction yöntem katları değerleri buna göre. Üst fraksiyon (%p) belirtirseniz, ilk bağımsız değişken (pbase) ilkini dikkate almaz. Diğer taraftan, normal bir kesir belirterek, yalnızca base argümanı kullanılır, bununla fraksiyon çarpılır.

İlgili konular