Benutzertools

Site-Tools


Handbuch:Erweitert:Anpassung:Bildschirme

Differenzen

Dies zeigt Ihnen die Unterschiede zwischen zwei Versionen der Seite.

Link zu dieser Vergleichsansicht

Beide Seiten vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
manual:advanced:customization:screens [2015/05/15 11:51] - mstupkamanual:advanced:customization:screens [2023/07/14 13:46] (Strom) - mstupka
Linie 1: Linie 1:
-====== Erstellen Maßgeschneidert Bildschirm ======+====== Benutzerdefiniert Bildschirm ======
  
 ---- ----
-<WICKELN todo rund center 60%>This page is obsolete and will be reworked soon</WICKELN+The method of creating custom screens requires at least essential knowledge of developing Android and XML files system. Otherwise, we recommend using already-created skins. To edit them, use just a simple NotePad or any text editing software with XML syntax highlight (for example [[http://notepad-plus-plus.org/|Notepad++]]) 
-===== Basic description =====+<WRAP round Tip
 +For most people who want to create their own screens should be enough to use a much simpler **[[manual:Benutzerhandbuch:Werkzeuge:dashboards|dashboard]]** system that offers similar functionality in a much less painful way.
  
-Basic explanation of Custom screen creation method. Whole system is mainly for people familiar with Android developing and XML files system. If you're notbetter is to use already created skins and look at them (as sample). To edit, use just simple NotePad or any notepad program with XML syntax highlight (suggested for example [[http://notepad-plus-plus.org/|Notepad++]]) +aber, **Dashboard** is available only mit Premium und vermisst some advanced possibilities like rotating images, completely free layout etc.
-<WRAP tip> +
-For most people who want to create own screens should be enough using much simpler **[[manual:Benutzerhandbuch:Werkzeuge:dashboards|dashboard]]** system that offers similar functionality in much less painful way. +
- +
-**Dashboard** is sowieso Nur verfügbar for Pro version und verpassen some advanced possibilitieslike rotating images, completely free layoutusw.+
 </WICKELN> </WICKELN>
 ==== Method using Eclipse ==== ==== Method using Eclipse ====
  
-  - Download and install whole eclipse and Android SDK tools from [[http://Developer.android.com/sdk /index.html|here]]. +  - Download and install Eclipse and Android SDK tools from [[http://Developer.android.com/sdk /index.html|here >>]]. 
-  - Nach der all works, create new androide project. This will create Base data structure. You'll not need etwas programmieren. +  - Wann  all works, create neu Android project. This will create eine grundlegende data structure. You'll not need to program etwas
-  - Projekt contains //res /Layout/main.xml// Dateithat's our target. Learn with Eclipse GUI builder and edit this file.+  - Das Projekt contains //res /Layout/main.xml// Datei that's our target. Learn arbeiten with Eclipse GUI builder and edit this file.
   - Put resources (best to use 9-patch images) into //res// folders (supported - //drawable, drawable-hdpi, drawable-mdpi, drawable-ldpi//)   - Put resources (best to use 9-patch images) into //res// folders (supported - //drawable, drawable-hdpi, drawable-mdpi, drawable-ldpi//)
-  - After compilation, take //mail.xml// file and image resources from compiled source (this is because of 9-patch images. If you want to use basic png files, you can add them directly into result. 9-patch have to be pre-compiled!).+  - After compilation, take //mail.xml// file and image resources from compiled source (this is because of 9-patch images. If you want to use basic .png files, you can add them directly into   result. 9-patch have to be pre-compiled!).
  
 ==== Using basic text editor ==== ==== Using basic text editor ====
  
-You do not have to do previous steps. You can edit XML-Datei directly in any editor. Vorherige steps are just recommended Weg,  for easy "Drag and drop" creating and also only way to support 9-patch images!+Sie müssen nicht tun   previous steps. You can edit XML-Dateien directly in any editor. Der bisherige steps are just recommended Wege for easy "Drag and drop" creating and also   only way to support 9-patch images!
  
-===== So geht's get actually all this works =====+===== So geht's Bring es zum Laufen =====
  
 **root directory:** // ./Ort/Datum /customScreen/ // **root directory:** // ./Ort/Datum /customScreen/ //
  
-erstellen ZIP file that enthalten diese Struktur+Create .ZIP file that enthält diese Struktur:
  
 <Code> <Code>
Linie 35: Linie 32:
     /drawable-ldpi/     /drawable-ldpi/
     /drawable-mdpi/     /drawable-mdpi/
-    /layout/ - for layout specification (for landscape and portrait or ... below ... for separate by orientation)+    /layout/ - for layout specification (for landscape and portrait or... below... for separate by orientation)
     /layout-land/     /layout-land/
     /layout-port/     /layout-port/
Linie 41: Linie 38:
 </Code> </Code>
  
-Place your main layout file into layout directory (or two files, one to layout-land, second to layout-port) and rename it to //main.xml//. That is importantbecause //main.xml// file is gate to whole layout, it haben to be included!+Place your main layout file into   layout directory (or two files, one to layout-land, second to layout-port) and rename it to //main.xml//. That is important because //main.xml// Datei ist   Tor zu   whole layout, it hat to be included!
  
-also in root of ZIP-Datei, you can place these files (optional)+You can place these files auch in   Wurzel von Ihre .ZIP file (optional)
   * **icon.png** - small (48x48px) logo of your skin   * **icon.png** - small (48x48px) logo of your skin
-  * **info.html** - HTML page that will contain description of skin (some links, donate button or similar is possible)+  * **info.html** - HTML page that will contain Beschreibung von Ihre skin (some links, donate button or similar is possible)
  
-Finally, place this zip fileinto root directory described above!+Finally, place this .zip file into   root directory described above!
  
 ===== Supported Views ===== ===== Supported Views =====
Linie 64: Linie 61:
  
   * [[http://Developer.android.com/reference/Android/Widget/TextView.html|TextView]] extends View   * [[http://Developer.android.com/reference/Android/Widget/TextView.html|TextView]] extends View
-    * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:text|android:text]] - this enthalten ACTIONS below+    * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:text|android:text]] - this enthält ACTIONS below
     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:textColor|android:textSize]]     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:textColor|android:textSize]]
     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:textColor|android:textColor]]     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:textColor|android:textColor]]
Linie 71: Linie 68:
     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:ellipsize|android:ellipsize]]     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:ellipsize|android:ellipsize]]
     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:shadowColor|android:shadowColor]] - and optional android:shadowDx, Android:shadowDy and android:SchattenRadius     * [[http://Developer.android.com/reference/Android/Widget/TextView.html#attr_android:shadowColor|android:shadowColor]] - and optional android:shadowDx, Android:shadowDy and android:SchattenRadius
-    * [[creating_custom_screen?&#locustextfont|locus:textFont]] +    * [[Bildschirme?&#locustextfont|locus:textFont]] 
-    * [[creating_custom_screen?&#locustextformat|locus:textFormat]]+    * [[Bildschirme?&#locustextformat|locus:textFormat]]
  
   * [[http://Developer.android.com/reference/Android/Widget/Button.html|Button]] extends TextView   * [[http://Developer.android.com/reference/Android/Widget/Button.html|Button]] extends TextView
-    * [[creating_custom_screen?&#locusactionclick|locus:actionClick]] +    * [[Bildschirme?&#locusactionclick|locus:actionClick]] 
-    * [[creating_custom_screen?&#locusactionvisibility|locus:actionVisibility]]+    * [[Bildschirme?&#locusactionvisibility|locus:actionVisibility]]
  
   * [[http://Developer.android.com/reference/Android/Widget/ImageView.html|ImageView]] extends View   * [[http://Developer.android.com/reference/Android/Widget/ImageView.html|ImageView]] extends View
Linie 86: Linie 83:
  
   * MapScreenView (custom locus view) extends View   * MapScreenView (custom locus view) extends View
-    * no custom die Einstellungen+    * no custom Parameter
  
   * RotateView (custom locus view) extends View   * RotateView (custom locus view) extends View
-    * locus:action - attach to which rotation action ... for example locus:action="{orient_course}" +    * locus:action - attach to which rotation action... for example locus:action="{orient_course}" 
-    * locus:rotateImage - reference to drawable, actually centered and rotated around center by angle defined by action+    * locus:rotateImage - reference to drawable, actually centered and rotated around   center by an angle defined by action
     * locus:rotatePivotX - move rotation point by X value (+X to bottom)     * locus:rotatePivotX - move rotation point by X value (+X to bottom)
     * locus:rotatePivotY - move rotation point by Y value (+Y to bottom)     * locus:rotatePivotY - move rotation point by Y value (+Y to bottom)
-    * locus:rotateStartAngle - angle at which is Drehung Anfang with rotateStartValue value (- value for counter-clockwise orientation) +    * locus:rotateStartAngle -   angle at which rotation beginnt with rotateStartValue value (- value for counter-clockwise orientation) 
-    * locus:rotateStartValue - value for variable that starts at rotateStartAngle (in base units, so Meter, second, ..) +    * locus:rotateStartValue - value for   variable that starts at rotateStartAngle (in base units, so Meter, second, ..) 
-    * locus:rotateEndAngle - angle at which is Drehung Ende with rotateEndValue value+    * locus:rotateEndAngle -   angle at which rotation endet with rotateEndValue value
     * locus:rotateEndValue - value for variable that ends at rotateEndValue     * locus:rotateEndValue - value for variable that ends at rotateEndValue
  
  
-  * **SlideView** (custom loci view) extends View +  * **SlideView** (custom Ort view) extends View 
-    * locus:Handlung - anhängen to which slide action ... for example locus:action="{orient_course}" +    * locus:Handlung - Attaches to which slide action ... for example locus:action="{orient_course}" 
-    * locus:slideImage - reference to drawable used for slide +    * locus:slideImage - Bezug auf zeichnbar Artikel used for slide 
-    * locus:slideStartPosition - position of image pixel that Spiel //slideStartValue// Wert. +    * locus:slideStartPosition - position of image pixel that Streichhölzer //slideStartValue// Wert. 
-    * locus:slideStartValue - action value for //slideStartPosition// (in base units, damit Meter, zweite, ..) +    * locus:slideStartValue - action value for //slideStartPosition// (in base units Meter, Sekunden, ..) 
-    * locus:slideEndPosition - position value of last image pixel. Also (//slideEndPosition// - //slideStartPosition//) definieren die Breite des Bildes+    * locus:slideEndPosition - position value of   last image pixel. Also (//slideEndPosition// - //slideStartPosition//) definieren die Breite des Bildes
     * locus:slideEndValue - action value for //slideEndPosition//     * locus:slideEndValue - action value for //slideEndPosition//
-    * locus:slideInfinite - if slide image sollte sein repeated to cover whole parent view (true/false) [false]+    * locus:slideInfinite - if slide image is repeated to cover whole parent view (true/false) [false]
  
-<WRAP info> +<WICKELN rund info> 
-**Sample** - let's imagine this image of compass+**Sample** - let's imagine this image of   Kompass
  
-{{:Handbuch:img_compass_slide.png|}}+{{ :manuell:fortschrittlich:Anpassung:img_compass_slide.png?keine Verbindung |}}
  
-To make it work in full screen widthyou need to define these parameters+To make it work in full screen width you need to define these parameters:
 <Code> <Code>
     Android:layout_width="match_parent"     Android:layout_width="match_parent"
Linie 128: Linie 125:
 Mit dieser Definition sagt man: Mit dieser Definition sagt man:
  
-  * 1. if orientation angle wird sein 180°, first pixel (slideStartPosition) will be drawn really as first pixel. Because is defined whole range (from 0° - 360°and end value haben position on the end (//locus:slideEndPosition="match_parent"//), image will be stretched over whole screen. Mitte of image (**S**), will be in the middle, as we want! +  * 1. if   Orientierungswinkel is 180 °,   first pixel (slideStartPosition) will be drawn really as   first pixel. Because   defined whole range is from 0° - 360° and   Endwert  hat eine  position on the end (//locus:slideEndPosition="match_parent"//),   image will be stretched over   ganzer Bildschirm. Die Mitte of   image (**S**), will be in the middle, as we want! 
-  * 2. if orientation wird sein for example 90°, Locus firstly compute percent part of image that should be moved. It's computed by **(current value - slideStartValue) / (slideEndValue - slideStartValue)**, so in this case it's (90 - 180) / (-180 - 180) = **25%**!. This means that image will be moved by 25%+  * 2. if orientation is for example 90°, Locus Map first computes the percent part of   image that should be moved. It's computed by **(current value - slideStartValue) / (slideEndValue - slideStartValue)**, so in this case it's (90 - 180) / (-180 - 180) = **25%**!. This means that image will be moved by 25%
 </WICKELN> </WICKELN>
  
 ==== Global attributes ==== ==== Global attributes ====
  
-On all View can be applied these attributes+Alle Ansichten angewendet werden kann mit diese Attribute:
  
   * [[http://Developer.android.com/reference/Android/Aussicht/View.html#attr_android:id|android:id]]   * [[http://Developer.android.com/reference/Android/Aussicht/View.html#attr_android:id|android:id]]
   * [[http://Developer.android.com/reference/Android/Aussicht/ViewGroup.LayoutParams.html#attr_android:layout_width|android:layout_width]]   * [[http://Developer.android.com/reference/Android/Aussicht/ViewGroup.LayoutParams.html#attr_android:layout_width|android:layout_width]]
   * [[http://Developer.android.com/reference/Android/Aussicht/ViewGroup.LayoutParams.html#attr_android:layout_height|android:layout_height]]   * [[http://Developer.android.com/reference/Android/Aussicht/ViewGroup.LayoutParams.html#attr_android:layout_height|android:layout_height]]
-  * [[http://Developer.android.com/reference/Android/Widget/LinearLayout.LayoutParams.html#attr_android:layout_weight|android:layout_weight]] - if parent view is LinearLayout +  * [[http://Developer.android.com/reference/Android/Widget/LinearLayout.LayoutParams.html#attr_android:layout_weight|android:layout_weight]] - if   parent view is LinearLayout 
-  * [[http://Developer.android.com/reference/Android/Widget/RelativeLayout.LayoutParams.html|RelativeLayout.LayoutParams]] - if parent view is RelativeLayout+  * [[http://Developer.android.com/reference/Android/Widget/RelativeLayout.LayoutParams.html|RelativeLayout.LayoutParams]] - if   parent view is RelativeLayout
   * [[http://Developer.android.com/reference/Android/Aussicht/ViewGroup.MarginLayoutParams.html|android:layout_margin]]   * [[http://Developer.android.com/reference/Android/Aussicht/ViewGroup.MarginLayoutParams.html|android:layout_margin]]
   * android:layout_marginLeft   * android:layout_marginLeft
Linie 183: Linie 180:
   * //{speed}// - GPS speed (0 if GPS off)   * //{speed}// - GPS speed (0 if GPS off)
   
-  * //{rec_dist}// - track recording - recorded sitance+  * //{rec_dist}// - track recording - recorded Abstand
   * //{rec_dist_down}// - Streckenaufzeichnung - Abfahrtsstrecke   * //{rec_dist_down}// - Streckenaufzeichnung - Abfahrtsstrecke
   * //{rec_dist_up}// - Streckenaufzeichnung - Bergaufstrecke   * //{rec_dist_up}// - Streckenaufzeichnung - Bergaufstrecke
Linie 221: Linie 218:
  
   * parametres should be {i}, {d}, {i.d}, {u} "integer part, double part, both, only units"   * parametres should be {i}, {d}, {i.d}, {u} "integer part, double part, both, only units"
-  * for example - //"locus:textFormat="{i.d} - {u}"//. Kann angewendet werden aufspeed, distance, altitude and accuracy now+  * for example - //"locus:textFormat="{i.d} - {u}"//. Can be applied to speed, distance, altitudeand accuracy now
manual/advanced/customization/screens.1431683487.txt.gz · Letzte Änderung: 2015 05:15 (externe Bearbeitung)