Meracie komponenty:Status: Rozdiel medzi revíziami

Z Kiwiki
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č...“)
 
Riadok 84: Riadok 84:
 
   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 = (MeraciKomponent) findViewById(R.id.meter);
 +
    slider = (MeraciKomponent) 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>

Verzia zo dňa a času 15:22, 2. január 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)

    <eu.sensys.measurelib.Status       
        android:id="@+id/meter"
        android:layout_height="0dp"
        android:layout_width="wrap_content"
     />

java

// pripady A a B
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_meter);
   MeraciKomponent mk;
   this.mk = (MeraciKomponent) 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);
   MeraciKomponent mk;
   this.mk = (MeraciKomponent) 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 = (MeraciKomponent) findViewById(R.id.meter);
    slider = (MeraciKomponent) 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);	                		

       	}        	
    };