Meracie komponenty:Status: Rozdiel medzi revíziami
		
		
		
		
		
		
		Skočit na navigaci
		Skočit na vyhledávání
		
				
		
		
		
		
		
		
		
	
 (Vytvorená stránka „{{Template:Meracie komponenty obsah}} __NOTOC__ ==Opis== Status - indikačný prístroj ako ukazovateľ stavu. Názov komponentu je zobrazený nad indikátorom. Dodatoč...“)  | 
				|||
| (Jedna medziľahlá úprava od rovnakého používateľa nie je zobrazená.) | |||
| Riadok 53: | Riadok 53: | ||
'''xml (activity_meter.xml)'''  | '''xml (activity_meter.xml)'''  | ||
<source lang="xml">  | <source lang="xml">  | ||
| − |      <  | + |      <info.kiwiki.measurelib.Status          | 
         android:id="@+id/meter"  |          android:id="@+id/meter"  | ||
         android:layout_height="0dp"  |          android:layout_height="0dp"  | ||
| Riadok 62: | Riadok 62: | ||
'''java'''  | '''java'''  | ||
<source lang="java">  | <source lang="java">  | ||
| + | import info.kiwiki.measurelib.Status;  | ||
| + | import info.kiwiki.measurelib.BaseComponent;  | ||
| + | |||
// pripady A a B  | // pripady A a B  | ||
public void onCreate(Bundle savedInstanceState) {  | public void onCreate(Bundle savedInstanceState) {  | ||
    super.onCreate(savedInstanceState);  |     super.onCreate(savedInstanceState);  | ||
    setContentView(R.layout.activity_meter);  |     setContentView(R.layout.activity_meter);  | ||
| − | + |     BaseComponent mk;  | |
| − |     this.mk = (  | + |     this.mk = (BaseComponent) findViewById(R.id.meter);  | 
    mk.setColorTheme(ComponentStyle.THEME_CITRUS);    |     mk.setColorTheme(ComponentStyle.THEME_CITRUS);    | ||
}  | }  | ||
| Riadok 75: | Riadok 78: | ||
    super.onCreate(savedInstanceState);  |     super.onCreate(savedInstanceState);  | ||
    setContentView(R.layout.activity_meter);  |     setContentView(R.layout.activity_meter);  | ||
| − | + |     BaseComponent mk;  | |
| − |     this.mk = (  | + |     this.mk = (BaseComponent) findViewById(R.id.meter);  | 
    mk.setColorTheme(ComponentStyle.THEME_PASTEL);    |     mk.setColorTheme(ComponentStyle.THEME_PASTEL);    | ||
    mk.setProperty(Status.STATUS_TYPE, Status.STATUS_NORMAL);  |     mk.setProperty(Status.STATUS_TYPE, Status.STATUS_NORMAL);  | ||
| Riadok 84: | Riadok 87: | ||
    mk.setLabel("OK");  |     mk.setLabel("OK");  | ||
}  | }  | ||
| + | </source>  | ||
| + | |||
| + | Použitie komponentu Status v režime Status.STATUS_NORMAL. V tomto režime má komponent 4 stavy: záporné hodnoty, normálne hodnoty, varovanie a chybová hodnota. V nasledujúcom kóde je ukážka ako doplniť textovú informáciu do komponentu Status:  | ||
| + | <source lang="java">  | ||
| + |     status = (BaseComponent) findViewById(R.id.meter);  | ||
| + |     slider = (BaseComponent) findViewById(R.id.slider);  | ||
| + |     status.setMin(-10);  | ||
| + |     slider.setMin(-10);  | ||
| + |     status.setMax(50);  | ||
| + |     slider.setMax(50);  | ||
| + | |||
| + |     slider.valueChanged = new ComponentCallback(){  | ||
| + |        	@Override  | ||
| + |        	public void OnValueChanged(double value) {  | ||
| + |        		status.setValue(value);		  | ||
| + |        		String l2="OK";  | ||
| + |        		if(value > slider.getAlert())  | ||
| + |        		    l2="Alert!!!";  | ||
| + |        		else  | ||
| + |        		    if(value > slider.getWarning())  | ||
| + |        			l2="Warning";  | ||
| + |        		if(value<0)  | ||
| + |        			l2="negative";  | ||
| + |        		status.setLabel2(l2);	                		  | ||
| + | |||
| + |        	}        	  | ||
| + |     };  | ||
</source>  | </source>  | ||
Aktuálna revízia z 09:58, 26. marec 2013
| Jazyk EN SK | Navigácia | Android projekty -> Meracie komponenty -> Meracie komponenty:Status -> MeasureDemo | 
Opis
Status - indikačný prístroj ako ukazovateľ stavu. Názov komponentu je zobrazený nad indikátorom. Dodatočný text je využitý pre slovný opis aktuálneho stavu. Komponent Status môže pracovať v 2 základných režimoch:
- 4-hodnotová indikácia:
- záporná hodnota
 - kladná hodnota v označená ako "normálna"
 - upozornenie (hodnota väčšia ako úroveň upozornenie/warning)
 
 - 2-hodnotová indikácia:
- stav zapnuté (ON)
 - stav vypnuté (OFF)
 
 
Upozornenie: komponent Status nezobrazuje svoju číselnú hodnotu (vlastnosť value).
Zmenu typu zobrazenia docielime volaním metódy setProperty(String propertyName, int propertyValueId), kde propertyName je Status.STATUS_TYPE a propertyValueID je:
- Status.STATUS_ON_OFF - 2-hodnotová logika
 - Status.STATUS_NORMAL - 4-hodnotová stupnica
 
Prednastavené hodnoty komponentu
- value = 0
 - typ zobrazenia: Status.STATUS_ON_OFF
 - pre stav Status.STATUS_ON_OFF
- minimum = 0
 - maximum = 1
 - Text, pre vypnutý stav: OFF
 - Text, pre zapnutý stav: ON
 - warning, alert - nemajú význam
 
 - pre stav Status.STATUS_NORMAL
- minimum = -100
 - maximum = 100
 - warning = 60% z maxima
 - alert = 85% z maxima
 
 
Špeciálne nastavenie komponentu Status
- Pri použití komponentu sa odporúča nastaviť výšku komponentu na 0 dip. V tomto prípade sa správna výška vypočíta zo zadanej šírky komponentu.
 - Pri type zobrazenia Status.STATUS_ON_OFF platí:
- nie je možné meniť hodnoty maximálnej a minimálnej hodnoty.
 - pri určení hodnoty komponentu (metóda setValue(double x) ) sa hodnota komponentu určí nasledovne:
- value = 1, ak x> 0.5
 - value = 0, inak
 
 
 - pre zobrazenie textového popisu stavu sa používa dodatočný text, ktorý sa zadá pomocou metódy setLabel2(String label)
 
Náhľady
Príklad použitia
xml (activity_meter.xml)
    <info.kiwiki.measurelib.Status       
        android:id="@+id/meter"
        android:layout_height="0dp"
        android:layout_width="wrap_content"
     />
java
import info.kiwiki.measurelib.Status;
import info.kiwiki.measurelib.BaseComponent;
// pripady A a B
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_meter);
   BaseComponent mk;
   this.mk = (BaseComponent) findViewById(R.id.meter);
   mk.setColorTheme(ComponentStyle.THEME_CITRUS); 
}
// pripady C, D, E a F
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_meter);
   BaseComponent mk;
   this.mk = (BaseComponent) findViewById(R.id.meter);
   mk.setColorTheme(ComponentStyle.THEME_PASTEL); 
   mk.setProperty(Status.STATUS_TYPE, Status.STATUS_NORMAL);
   mk.setMin(-10);
   mk.setMax(10);
   mk.setValue(5);
   mk.setLabel("OK");
}
Použitie komponentu Status v režime Status.STATUS_NORMAL. V tomto režime má komponent 4 stavy: záporné hodnoty, normálne hodnoty, varovanie a chybová hodnota. V nasledujúcom kóde je ukážka ako doplniť textovú informáciu do komponentu Status:
    status = (BaseComponent) findViewById(R.id.meter);
    slider = (BaseComponent) findViewById(R.id.slider);
    status.setMin(-10);
    slider.setMin(-10);
    status.setMax(50);
    slider.setMax(50);
    slider.valueChanged = new ComponentCallback(){
       	@Override
       	public void OnValueChanged(double value) {
       		status.setValue(value);		
       		String l2="OK";
       		if(value > slider.getAlert())
       		    l2="Alert!!!";
       		else
       		    if(value > slider.getWarning())
       			l2="Warning";
       		if(value<0)
       			l2="negative";
       		status.setLabel2(l2);	                		
       	}        	
    };