Martin Lantzsch
Software Entwickler
23. Mai 2012

Sencha Touch 2 + Phonegap Android 4 Fix

23. Mai 2012 - Geschrieben von Martin - Ein Kommentar

<script>
// Fix for problem with android 3.x and 4.x which is
// the browser has a problem with urls with ? and this
// bug has not been fixed by google. See:
// http://code.google.com/p/android/issues/detail?id=17535 or
// http://www.sencha.com/forum/showthread.php?162322-Sencha-Touch-2-PhoneGap-are-not-working-on-Android-4/page3&highlight=Loader
//
 
Ext.Loader.setConfig({ disableCaching: false });
Ext.Ajax.setDisableCaching(false); 
</script>


Diesen Code Schnipsel in der index.html vor die app.js setzen. Anschließend funktioniert die App auch auf Android 4, da sie nun ihre JavaScript Files nachladen kann nicht mit einem weißen Screen endet.

Übrigens kann man die Fehler, die in einem WebView Produziert werden mit der App „Log Collector“ auslesen.

22. Mai 2012

Sencha Touch 2 – Tab Panel wird nicht angezeigt?

22. Mai 2012 - Geschrieben von Martin - Keine Kommentare

Stundenlanges suchen, frustrierendes herumprobieren und nun bin ich dahinter gekommen, warum mir nach dem Update auf die neuste Version von Sencha Touch 2 ein Tab in der Tab Bar fehlt. Dem Panel, das als Tab herhalten sollte, war eine „fullscreen“ Property zugeordnet die auf „true“ gesetzt war. Deshalb hat Sencha Touch diesen Tab beim Rendern aus der Tab Bar geworfen.

Eigentlich ganz logisch – Im Nachhinein. Fullscreen und Tab beißen sich nunmal.

13. April 2012

Sencha Touch 2 DetailCard automatisch hochscrollen

13. April 2012 - Geschrieben von Martin - Keine Kommentare

Ich arbeite gerade an einer Multiplattform App mit dem Sencha Touch 2 Framework, welche eine NestedList enthält, um Daten aufzulisten.

Klickt man auf ein Item der NestedList, so wird das Event „nestedListLeafItemTap“ aufgerufen, in dem ich dynamisch Inhalt in die DetailCard dieser List lade. Wenn der Inhalt nun z.B. 2 Bildschirmseiten lang ist, der Benutzer ganz nach unten scrollt, zurück geht und den nächsten Eintrag antippt, öffnet sich die DetailCard wieder ganz unten an alter Position. Nun müsste man wieder hochscrollen, was Usability Technisch gesehen Schmarren ist.

Um automatisch nach dem befüllen der Daten nach oben zu scrollen, holen wir uns in der „nestedListLeafItemTap“ Methode die DetailCard und greifen auf das „Scrollable“ zu. Das interne Handling für Scrollbare Elemente und scrollen darüber ganz nach oben. Natürlich so damit es dem User nicht ins Auge fällt:

var detailCardScroller = nestedlist.getDetailCard().getScrollable().getScroller();
detailCardScroller.refresh();
detailCardScroller.scrollToTop(false);

9. März 2012

Sencha Designer einer Component eine Objekt Property hinzufügen

9. März 2012 - Geschrieben von Martin - Keine Kommentare


Wenn man eine Eigenschaft hinzufügt und keinen Wert mitgibt, wird diese automatisch ein String. Will man nun aber ein Objekt haben, weil man z.B. zu einer NestedList Komponente eine „detailCard“ hinzufügen möchte, so benötigt man allerdings ein Objekt.

Dieses kann man mit folgender Notation hinzufügen:

detailCard: {}

dann auf „Add“ klicken und schon ist es hinzugefügt, auch wenn man es nicht direkt sieht, da die Eingabeform ja zugeleich ein Filter ist. Nun einfach „detailCard“ eintippen und da ist es.