Meracie komponenty:Keypad
Jazyk EN SK | Navigácia | Android projekty -> Meracie komponenty -> Meracie komponenty:Keypad -> MeasureDemo |
Opis
Keypad - softvérová numerická klávesnica. Pomocou tejto klávesnice je možnosť zadávať presnú hodnotu inému komponentu. Komponent Keypad môže pracovať v 2 režimoch: ako štandardný widget podobný ostatným komponentom a ako dialógové okno, ktoré sa zobrazí na vyžiadanie.
Prednastavené hodnoty komponentu
- value = 0
- minimum = 0
- maximum = 100
- warning, alert - nie sú použité
- Pri zadaní hodnoty mimo povolený rozsah, komponent vypíše upozornenie.
Špeciálne nastavenie komponentu Keypad a KeypadDialog
- Pri tvorbe vizuálneho návrhu treba nastaviť rozmery komponentu Keypad tak, aby bol pomer výšky a šírky minimálne 1.2
- Komponent KeypadDialog sa zobrazí, ak sa podrží dlhšie prst na určitom mieste komponentu. Aktívne oblasti komponentov:
- Slider : obdĺžniková oblasť so zobrazením hodnoty posuvníka
Keypad
Objekt Keypad je potomkom triedy LinearLayout, preto jeho použitie je rovnaké ako použitie LinerLayout. Komponent Keypad nemôže obsahovať ďalší objekt View ako svojho potomka v XML návrhu. Pre zadávanie hodnoty inému komponentu sa využíva metóda spätného volania OnValueChanged, ktorá sa spustí, ak sa zmení hodnota komponentu Keypad.
Použitie komponentu Keypad:
xml (activity_meter.xml)
...
<info.kiwiki.measurelib.Keypad
android:id="@+id/keypad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
/>
<info.kiwiki.measurelib.Slider
android:id="@+id/meter"
android:layout_width="wrap_content"
android:layout_height="0dp"
/>
...
java import info.kiwiki.measurelib.BaseComponent; import info.kiwiki.measurelib.Slider;
...
BaseComponent mk = (BaseComponent) findViewById(R.id.meter);
Keypad kep = (Keypad) findViewById(R.id.keypad);
kep.setMax(max);
kep.setMin(min);
kep.setColorTheme(ComponentStyle.ANDROID);
kep.valueChanged = new ComponentCallback(){
@Override
public void OnValueChanged(double value) {
mk.setValue(value);
}
};
KeypadDialog
Objekt KeypadDialog je potomkom triedy Dialog. Konštruktor triedy KeypadDialog má tvar:
public KeypadDialog(Context context, BaseComponent mk)
V konštruktore triedy KepadDialog sa musí určiť ktorému komponentu (potomkovi triedy BaseComponent) patrí dialóg.
Použitie komponentu Keypad:
V príklade je jeden komponent Slider, ktorému sa pridá možnosť zadávania hodnoty pomocou komponentu Keypad.
xml (activity_meter.xml)
...
<info.kiwiki.measurelib.Slider
android:id="@+id/meter"
android:layout_width="wrap_content"
android:layout_height="0dp"
/>
...
java
BaseComponent mk = (BaseComponent) findViewById(R.id.meter);
KeypadDialog kp = new KeypadDialog(this, mk);