Lokalizacja aplikacji poprzez zasoby
1. Na wstępie zmieńmy trochę metodę seekBarChangeListener.onProgressChanged (dodajemy HSV)
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
{
int r = seekBarR.getProgress();
int g = seekBarG.getProgress();
int b = seekBarB.getProgress();
float[] hsvComponents = { 0f, 0f, 0f };
Color.RGBToHSV(r, g, b, hsvComponents);
String rgb = Integer.toHexString(r).toUpperCase() + " "
+ Integer.toHexString(g).toUpperCase() + " "
+ Integer.toHexString(b).toUpperCase();
String hsv = Float
.toString(Math.round(100 * hsvComponents[0]) / 100f) + " "
+ Float.toString(Math.round(100 * hsvComponents[1]) / 100f) + " "
+ Float.toString(Math.round(100 * hsvComponents[2]) / 100f);
etykieta_panel.setBackgroundColor(Color.argb(255, r, g, b));
etykieta_panel.setText(
"Składowe koloru"
+ "\nRGB: " + rgb + "\nHSV: " + hsv);
int jasnosc = (r + g + b) / 3;
if (jasnosc > 127) etykieta_panel.setTextColor(Color.BLACK);
else etykieta_panel.setTextColor(Color.WHITE);
if (czyUstawicSpinnerNaSuwaki) spinner.setSelection(0);
}
2. Porządkujemy layout:
a. W res/layout/activity_kolor.xml: zamiast TextView, android:text wskazanego bezpośrednio
używamy referencji do łańcuchu umieszczonego w zasobach:
b. W konsekwencji do res/values/strings.xml dodajemy wpis o nazwie etykieta oraz inne, których użyjemy,
a przy okazji "spalszczamy" pozostałe wpisy:
Kolory
Kolory
Ustawienia
Kolory
Składowe koloru
3. Aby skorzystać z zasobów nie tylko w kodzie XML (statycznie), ale również z poziomu kodu Java
(dynamicznie) zmieniamy kod metody onProgressChange, a dokładnie metody zmieniającej etykietę:
etykieta_panel.setText(
KoloryActivity.this.getString(R.string.etykieta)
+ "\nRGB: " + rgb + "\nHSV: " + hsv);
** Uruchom i przetestuj aplikację
4. Właściwą lokalizację przeprowadzamy powielając katalog res/values.
a. Zmieńmy nazwę katalogu value na values-pl (klawisze Shift+F6, ikony plików zmienią się na polskie flagi).
b. W widoku 'Android' przyrostek "-pl" będzie niewidoczny. Należy zmienić widok na 'Project'
(rozwijana lista nad drzewem plików projektu)
c. Tworzymy katalog values i kopiujemy do niego pliki strings.xml i tablica_kolorow.xml
(przeciągamy przytrzymując Ctrl)
d. Przenosimy do niego też dwa pozostałe pliki: colors.xml i styles.xml
e. Edytujemy oba pliki:
strings.xml:
Colors
Color Chooser
Settings
Colors
Color components
tablica_kolorow.xml:
- Choosen with spinners
- Black
- White
- Red
- Green
- Blue
- Cyan
- Magenta
- Yellow
- Gray
values - katalog domyślny, używany jeżeli nie znajdziemy katalogu values-KOD (pl,en,fr,de, itd.)
odpowiedniego dla języka domyślnego systemu.
* Zmiana języka domyślnego w emulatorze (w systemie Android):
Stary Android (polski):
Naciskamy klawisz "Menu"
Z menu wybieramy "Ustawienia"
Z listy wybieramy "Język i klawiatury"
"Wybierz język"
Następnie możemy wybrać jeden z języków (krajów).
Nowy Android:
Ustawienia, Languages & Input, Languages, Add Language, itd.
Ustawienia, Języki i metody wprowadzania, Języki, Dodaj język, ...