Meracie komponenty:Pointer

Z Kiwiki
Verzia z 17:32, 30. december 2012, ktorú vytvoril Juraj (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání
Jazyk EN SK Navigácia Android projekty -> Meracie komponenty -> Meracie komponenty:Pointer -> MeasureDemo

Opis

Pointer - indikačný prístroj ako ukazovateľ trendu. Hodnota komponentu je reprezentovaná sklonom zobrazovanej šípky. Názov komponentu je zobrazený v ľavej časti a je otočený o 90°. Číselná reprezentácia zobrazovanej hodnoty je priamo nad šípkou. Dodatočný text je umiestnený pravo dole. Pri zobrazovaní hodnoty komponent rozoznáva základné 2 typy hodnôt: kladné a záporné. Ak uvažujeme že zobrazujeme hodnotu x, tak komponent Pointer môže pracovať v 3 základných režimoch:

  • zobrazuje sa hodnota tan(x) (uvažujeme že x je uhol)
  • zobrazí sa priamo hodnota x (uvažujeme že x je uhol)
  • zobrazí sa hodnota z rozsahu (minimum, maximum)

Zmenu typu zobrazenia docielime volaním metódy setProperty(String propertyName, int propertyValueId), kde propertyName je Pointer.POINTER_TYPE a propertyValueID je:

  • Pointer.POINTER_TANGENT - režim zobrazovanie tangensu uhla
  • Pointer.POINTER_ANGLE - režim zobrazovanie uhla
  • Pointer.POINTER_MINMAX - režim zobrazovania hodnoty z rozsahu (minimum, maximum)

Prednastavené hodnoty komponentu

  • value = 0
  • typ zobrazenia: Pointer.POINTER_TANGENT
  • warning - nepoužíva sa
  • alert - nepoužíva sa

maximum a minimum:

  • pre Pointer.POINTER_TANGENT
    • maximum = 1000
    • minimum = -1000
  • pre Pointer.POINTER_ANGLE
    • maximum = 180
    • minimum = -180
  • pre Pointer.POINTER_MINMAX
    • maximum = 1
    • minimum = -1

Špeciálne nastavenie komponentu Pointer

  • Pri použití komponentu sa odporúča nastaviť výšku komponentu na 0 dip. V tomto prípade sa správna výška určí rovnaká ako šírka komponentu
  • Pri type zobrazenie Pointer.POINTER_TANGENT a Pointer.POINTER_ANGLE nie je možné meniť hodnoty maximálnej a minimálnej hodnoty.

Náhľady

Príklad použitia

xml (activity_meter.xml)

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

java

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_meter);
   MeraciKomponent mk;
   this.mk = (MeraciKomponent) findViewById(R.id.meter);
   mk.setLabel("Ukazovateľ zmeny");   
   mk.setLabel2("[v/t]");
   mk.setColorTheme(ComponentStyle.THEME_ANDROID); 
   mk.setPointerType(Pointer.POINTER_MINMAX); // pripady E a F
}