9

Wenn ich keine Unterstützung für ältere Versionen von Android gewähren muss und nur API 17 verwenden kann, gibt es eine alternative Möglichkeit, den viel beworbenen horizontalen Swipe (wie in Gmail) zu implementieren und nicht die Funktionen von fragepactivity zu verwenden (neue APIs haben bereits) Fragmente ...) etc. um die Support-Bibliothek loszuwerden?Wie kann ich horizontale Swipe implementieren, ohne die Support-Bibliothek zu verwenden?

Alle Tutorials, die ich für horizontales Swipe gefunden habe, zeigen, wie man es mit Hilfe der Support-Bibliothek und FragmentActivities macht. Was ist sonst der Vorteil der neuen APIs, wenn ich ihre nativen Klassen und Methoden nicht verwenden kann?

Antwort

4

auf der Support-Bibliothek

ViewPager nur in der Android Support Library besteht loszuwerden. Die Android Support Library ist nicht nur für Backports gedacht.

neue APIs haben bereits Fragmente

ViewPager native API Stufe 11 Fragmente verwenden können, obwohl Sie müssen Ihre eigene PagerAdapter erstellen. Oder Sie können ViewPager ohne Fragmente verwenden, nur gewöhnliche View oder ViewGroup Objekte für die Seiten verwenden.

gibt es eine alternative Möglichkeit, die viel beworbenen horizontal Swipe

Sie sind willkommen, schreiben Sie Ihre eigenen Ersatz für ViewPager zu implementieren. Die meisten Entwickler bevorzugen die Wiederverwendung von ViewPager, um die Entwicklungs- und Wartungskosten zu reduzieren.

Es gibt auch HorizontalScrollView, eine Open Source HorizontalListView herum schweben, und so weiter.

+4

Ok, also ich denke, ich sollte einfach die beste Antwort geben und mit der Support-Bibliothek fortfahren. Ich habe keinen besonderen Grund, den Viewpager nicht neben der Tatsache zu verwenden, dass ich die App-Support-Bibliothek freihalten wollte. Da horizontaler Swipe auf den Android-Richtlinien so empfohlen wird, dachte ich, dass es einen alternativen Weg gab, der nativ in die neuen APIs eingebettet wurde, die ich ignorierte. Ich dachte, dass der Ansatz, der normalerweise beschrieben wird, die Support-Bibliothek verwendet, da die meisten Entwickler die App wahrscheinlich mit älteren Android-Versionen kompatibel halten wollen, die immer noch weit verbreitet sind. – Danny

+0

@CommonsWare Ich habe ein Problem mit dem ViewPager. Können Sie bitte in diese ... http://stackoverflow.com/questions/30303488/how-to-update-fragments-data-used-in-viewpager-view-is-not-showing-the-updated – AB1209

1

Sie können Ihre eigene FragmentPagerAdapter schreiben, die mit android.app.Fragment statt android.support.v4.app.Fragment arbeitet, um die Abhängigkeit von der Support-Bibliothek zu minimieren. Sie müssen nur Ihre eigene Klasse für den Adapter erstellen (basierend auf FragmentPagerAdapter von der Support-Bibliothek, deren Quelle im Ordner <android-sdks>/extras/android/support/v4/src/java/android/support/v4/app/ zu finden ist). Nur die Änderung ist im Importbereich - Sie sollten sich auf Fragment, FragmentManager und FragmentTransaction von android.app anstelle von android.support.v4.app beziehen.