Uživatelské nástroje

Nástroje webu


manual:advanced:customization:screens

Vlastní obrazovka


Metoda vytváření vlastních obrazovek vyžaduje alespoň základní znalosti vývoje Androidu a souborového systému XML. V opačném případě doporučujeme použít již vytvořené skiny. Chcete-li je upravit, použijte pouze jednoduchý Poznámkový blok nebo jakýkoli software pro úpravu textu se zvýrazněním syntaxe XML (např Notepad + +)

Pro většinu lidí, kteří si chtějí vytvořit vlastní obrazovky, by mělo stačit použití mnohem jednodušší přístrojová deska systém, který nabízí podobnou funkcionalitu mnohem méně bolestivým způsobem.

Nicméně, Hlavní obrazovka je k dispozici pouze s Premium a postrádá některé pokročilé možnosti, jako je otáčení obrázků, zcela volné rozvržení atd.

Metoda využívající Eclipse

  1. Stáhněte a nainstalujte nástroje Eclipse a Android SDK z zde >>.
  2. Když vše funguje, vytvořte nový projekt Android. Tím vytvoříte základní datovou strukturu. Nebudete muset nic programovat.
  3. Projekt obsahuje res / layout / main.xml soubor - to je náš cíl. Naučte se pracovat s Eclipse GUI builder a upravte tento soubor.
  4. Vložte zdroje (nejlépe použít obrázky s 9 záplatami). res složky (podporované - drawable, drawable-hdpi, drawable-mdpi, drawable-ldpi)
  5. Po sestavení vezměte mail.xml zdroje souborů a obrázků z kompilovaného zdroje (je to kvůli obrázkům s 9 záplatami. Pokud chcete použít základní soubory .png, můžete je přidat přímo do výsledku. 9 záplat musí být předkompilován!).

Použití základního textového editoru

Předchozí kroky nemusíte provádět. Soubory XML můžete upravovat přímo v libovolném editoru. Předchozí kroky jsou pouze doporučené způsoby pro snadné vytváření „Drag and drop“ a také jediný způsob, jak podporovat obrázky s 9 záplatami!

Jak to udělat, aby to fungovalo

kořenový adresář: ./Locus/data/customScreen/

Vytvořte soubor .ZIP, který obsahuje tuto strukturu:

    /assets/ - pro vlastní písma /drawable/ - (9-patch, nebo univerzální) /drawable-hdpi/ /drawable-ldpi/ /drawable-mdpi/ /layout/ - pro specifikaci rozvržení (na šířku a na výšku nebo... níže... pro oddělení podle orientace) /layout-land/ /layout-port/ /values/ (podporované barvy.xml, styly.xml)

Umístěte svůj hlavní soubor rozvržení do adresáře rozvržení (nebo dva soubory, jeden do layout-land, druhý do layout-port) a přejmenujte jej na main.xml. To je důležité, protože main.xml soubor je bránou do celého layoutu, musí být zahrnut!

Tyto soubory můžete umístit také do kořenového adresáře vašeho souboru ZIP (volitelné)

  • icon.png - malé (48x48px) logo vaší kůže
  • info.html - HTML stránka, která bude obsahovat popis vašeho vzhledu (jsou možné nějaké odkazy, tlačítko darovat nebo podobně)

Nakonec umístěte tento .zip soubor do kořenového adresáře popsaného výše!

Podporované pohledy

Kontejnery

Zobrazení

  • ImageButton rozšiřuje ImageView
    • locus:actionClick - jako tlačítko
    • locus:actionVisibility - jako tlačítko
  • MapScreenView (custom locus view) rozšiřuje View
    • žádné vlastní parametry
  • RotateView (vlastní locus view) rozšiřuje View
    • locus:action – připojte ke které rotační akci… například locus:action=“{orient_course}”
    • locus:rotateImage – odkaz na kreslitelný, ve skutečnosti vycentrovaný a otočený kolem středu o úhel definovaný akcí
    • locus:rotatePivotX - přesunout bod otáčení o hodnotu X (+X dolů)
    • locus:rotatePivotY - přesunout bod otáčení o hodnotu Y (+Y dolů)
    • locus:rotateStartAngle – úhel, ve kterém rotace začíná hodnotou rotationStartValue (– hodnota pro orientaci proti směru hodinových ručiček)
    • locus:rotateStartValue - hodnota pro proměnnou, která začíná na rotationStartAngle (v základních jednotkách, tedy metrech, sekundách, ..)
    • locus:rotateEndAngle - úhel, pod kterým rotace končí hodnotou rotationEndValue
    • locus:rotateEndValue - hodnota pro proměnnou, která končí na rotationEndValue
  • SlideView (vlastní pohled Locus) rozšiřuje pohled
    • locus:action – připojí ke které akci snímku… například locus:action=“{orient_course}”
    • locus:slideImage – odkaz na kreslenou položku použitou pro snímek
    • locus:slideStartPosition - pozice obrazového pixelu, která se shoduje slideStartValue hodnota.
    • locus:slideStartValue - akční hodnota pro slideStartPosition (v základních jednotkách - metry, sekundy, ..)
    • locus:slideEndPosition - hodnota pozice posledního pixelu obrázku. Taky (slideEndPosition - slideStartPosition) definovat šířku obrázku
    • locus:slideEndValue - akční hodnota pro slideEndPosition
    • locus:slideInfinite – pokud se snímek snímku opakuje, aby pokryl celý nadřazený pohled (true/false) [false]

Vzorek - představme si tento obrázek kompasu:

Aby to fungovalo na celou šířku obrazovky, musíte definovat tyto parametry:

    android:layout_width="match_parent" android:layout_height="X" locus:action="{orient_course}" locus:slideImage="X" locus:slideStartPosition="0dip" locus:slideStartValue="180" locus:slideEnd_parentPosition="match " locus:slideEndValue="-180" locus:slideInfinite="[true]"

Podle této definice říkáte, že:

  • 1. pokud je úhel orientace 180°, první pixel (slideStartPosition) bude vykreslen skutečně jako první pixel. Protože definovaný celý rozsah je od 0° do 360° a koncová hodnota má pozici na konci (locus:slideEndPosition=“match_parent“), obraz se roztáhne přes celou obrazovku. Uprostřed obrázku (S), bude uprostřed, jak chceme!
  • 2. pokud je orientace například 90°, Locus Map nejprve vypočítá procentuální část obrazu, která by se měla posunout. Vypočítává se podle (aktuální hodnota - slideStartValue) / (slideEndValue - slideStartValue), takže v tomto případě je to (90 - 180) / (-180 - 180) = 25%! To znamená, že obrázek se posune o 25 %

Globální atributy

Všechny pohledy lze použít s těmito atributy:

Vlastní atributy

locus:actionClick

  • {track_record_start}
  • {track_record_stop}
  • {track_record_pause}
  • {map_zoom_in}
  • {map_zoom_out}
  • {map_center}

locus:actionVisibility

  • {lat_gps} - zeměpisná šířka GPS (zeměpisná šířka středu mapy, pokud je GPS vypnuto)
  • {lon_gps} - Zeměpisná délka GPS (délka středu mapy, pokud je GPS vypnuto)
  • {nadmořská výška} - GPS nadmořská výška (0, pokud je GPS vypnuto)
  • {přesnost} - Přesnost GPS (0, pokud je GPS vypnuto)
  • {gps_sats_used} - aktuálně používané satelity pro GPS fix
  • {gps_sats_all} - všechny viditelné satelity
  • {deklinace} - skutečná deklinace
  • {orient_course} - orientace kurzu (zdroj závisí na výběru na obrazovce GPS - GPS nebo interní kompas)
  • {orient_course_opposit} - orientace kurzu (zdroj závisí na výběru na obrazovce GPS - GPS nebo interní kompas)
  • {orient_pitch} - orientace hřiště
  • {orient_roll} - orientace role
  • {orient_gps_shift} - orientace vypočítaná jako směr od předchozí k aktuální poloze GPS
  • {orient_gps_angle} - úhel vypočítaný jako {orient_gps_shift} - {orient_course}, takže je to skutečný směr pohybu.
  • {čas} - aktuální čas
  • {Rychlost} - Rychlost GPS (0, pokud je GPS vypnuto)
  • {rec_dist} - záznam trasy - zaznamenaná vzdálenost
  • {rec_dist_down} - záznam trasy - vzdálenost z kopce
  • {rec_dist_up} - záznam trasy - vzdálenost do kopce
  • {rec_alt_min} - záznam trasy - minimální nadmořská výška
  • {rec_alt_max} - záznam trasy - maximální nadmořská výška
  • {rec_alt_down} - záznam trasy - výška sjezdu
  • {rec_alt_up} - záznam trasy - výška stoupání
  • {rec_alt_cumu} - záznam trasy - kumulovaná nadmořská výška
  • {rec_time} - záznam trasy - celkový čas záznamu
  • {rec_time_move} - záznam stopy - čas pouze při pohybu
  • {rec_speed_avg} - záznam trasy - rychlostní průměr
  • {rec_speed_avg_move} - záznam stopy - rychlostní průměr pouze při pohybu
  • {rec_speed_max} - záznam stopy - rychlost max
  • {rec_points} - záznam trasy - počet zaznamenaných bodů
  • {rec_pace} - záznam trasy - počet zaznamenaných bodů
  • {map_center_lat} - zeměpisná šířka středu mapy
  • {map_center_lon} - středová zeměpisná délka mapy
  • {map_rotate} - hodnota otočení mapy
  • {guide_wpt_name} - název trasového bodu průvodce
  • {guide_wpt_lat} - zeměpisná šířka navigačního bodu
  • {guide_wpt_lon} - navádějte zeměpisnou délku trasového bodu cíle
  • {guide_wpt_alt} - nadmořská výška cílového bodu
  • {guide_wpt_dist} - řídit vzdálenost cíle k navigačnímu bodu
  • {guide_wpt_dist_to_finish} - veďte cílovou vzdálenost k poslednímu průjezdnímu bodu trasy
  • {guide_wpt_azim} - navést azimut cíle k navigačnímu bodu
  • {guide_wpt_angle} - hodnota úhlu cíle (vypočteno jako {guide_wpt_azim} - {orient_course})
  • {guide_wpt_time} - vést cílový čas k bodu na trase
  • {guide_wpt_time_to_finish} - navádějte cílový čas k poslednímu bodu trasy

locus:textFont

  • odkaz na písmo uložené v adresáři MySkin/assets

locus:textFormat

  • parametry by měly být {i}, {d}, {id}, {u} „celá část, dvojitá část, obě, pouze jednotky“
  • například - “locus:textFormat=”{id} – {u}”. Nyní lze použít na rychlost, vzdálenost, nadmořskou výšku a přesnost
manual/advanced/customization/screens.txt · Poslední změna: 2023. 07. 14 13:46 uživatelem stupka