So implementieren Sie ein Erststart-Tutorial wie Android Lollipop-Apps: Wie Sheets, Slides-App?

Lesezeit: 5 Minuten

Benutzer-Avatar
Abhishek Balani

Ich habe Android 5.0 Final Build in meinem Nexus 5 geflasht. Mir ist aufgefallen, dass es eine sehr schöne, saubere und elegante Art hat, das Tutorial beim ersten Start zu zeigen. Apps wie „Sheets“, „Slides“ etc.

Wie können wir das in unseren Android L-kompatiblen Apps implementieren?

Außerdem blendet die App den ersten Startbildschirm aus und zeigt dann das Tutorial.

Tutorial-Bildschirm 1
Anfangsbildschirm, der ausgeblendet wird und das Tutorial zeigt

  • Ich bin mir ziemlich sicher, dass dies nicht Teil des öffentlichen Rahmens ist. Du musst es wahrscheinlich selbst implementieren.

    – Alex Lockwood

    17. November 2014 um 3:10 Uhr

Benutzer-Avatar
Adam

Es gibt eine ziemlich gute Bibliothek zum Emulieren dieser Erstlauf-Tutorials:
https://github.com/PaoloRotolo/AppIntro

AppIntro-Beispiel-Screenshot

Klicken Sie für ein größeres Bild

  • Ich denke, es ist das Beste, was es gibt. Wenn nicht, können Sie etwas anderes vorschlagen?

    – Magesh Kumaar

    27. Dezember 2015 um 6:48 Uhr

Benutzer-Avatar
MathieuMaree

Zunächst einmal gibt es kein Geheimnis. Die Qualität der Illustrationen ist der Schlüssel zu diesem schönen Ergebnis. Wenn Sie also nicht selbst Designer sind, müssen Sie einen guten Designer für sie finden.

Abgesehen davon sehe ich mehrere Möglichkeiten, dem näher zu kommen.

  1. Erstens gibt es einen sehr subtilen Parallaxeneffekt auf den Illustrationen. Sie können es erreichen, indem Sie verwenden das Wesentliche dieser ParallaxTransformPage. Ich benutze es und es funktioniert ziemlich gut.

  2. Ebenfalls, Hier ist eine Bibliothek, mit der Sie die Hintergrundfarbe des Bildschirms reibungslos ändern können beim Seitenwechsel.

  3. Für die Ausblendungsanimation des Splashscreens können Sie Folgendes tun:

    final ImageView launchScreen = (ImageView) context.findViewById(R.id.launch_screen_view);
    new Handler().postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            Animation animation = AnimationUtils.loadAnimation(context, android.R.anim.fade_out);
            animation.setAnimationListener(new Animation.AnimationListener()
            {
                // ...
    
                @Override
                public void onAnimationEnd(Animation animation)
                {
                    launchScreen.setVisibility(View.GONE);
                }
            });
            launchScreen.startAnimation(animation);
        }
    }, 2000);
    
  4. Folgen Sie der Antwort von linkas für die Verwendung von a ViewPagerIndicator und wie das Tutorial nur gestartet wird, wenn der Benutzer die App zum ersten Mal startet.

  • Das sieht nah aus. Vielen Dank. Ich werde es umsetzen und Bescheid geben.

    – Abhishek Balani

    17. November 2014 um 14:14 Uhr

  • Wissen Sie auch, wie Sie die Aktivität beenden (mit ausgeblendeter Animation), wenn der Benutzer versucht, auf der letzten Seite außerhalb der Grenzen zu wischen (nach links (vorwärts) wischen), genau wie in der Google Sheets-App? Das und das hängt zusammen.

    Benutzer1480019

    23. Dezember 2014 um 11:27 Uhr


  • @GerritHoekstra Was Sie tun könnten, ist einfach Ihre ViewPager im selben Layout wie Ihr Homescreen (über dem Rest des Homescreens) und zeigen/aufblasen die ViewPager nur beim ersten Start. Sie fügen eine 5. “gefälschte” leere Seite zu Ihrer hinzu ViewPager. Und während der Benutzer auf die 5. Seite wischt, ändern Sie die ViewPager‘s Alpha, bis Sie schließlich seine Sichtbarkeit auf GONE setzen, wenn der Benutzer seinen Finger loslässt.

    – MathieuMaree

    23. Dezember 2014 um 13:10 Uhr

  • @MathieuMaree Danke! Das habe ich erfolgreich umgesetzt, jetzt geht es nur noch darum, die Fake-Ansicht vor dem zu verbergen CirclePageIndicator Denn wenn ich zum Beispiel 4 Ansichten und 1 gefälschte Ansicht habe, werden 5 Kreise anstelle von 4 angezeigt (was ich möchte), wissen Sie, wie Sie das beheben können?

    Benutzer1480019

    23. Dezember 2014 um 14:16 Uhr

  • @MathieuMaree Macht nichts, ich habe das geändert CirclePageIndicator um nur 4 Kreise anzuzeigen. Außerdem habe ich meine Aktivität wie hier beschrieben transparent gemacht, damit ich das ‘Tutorial-Layout’ nicht in das gleiche Layout wie meinen Homescreen stellen muss. Das Berechnen und Ändern des Alpha geschieht in onPageScrolled mit dem zweiten Argument (positionOffset). Danke für Ihre Hilfe! Sehr geschätzt.

    Benutzer1480019

    23. Dezember 2014 um 17:18 Uhr

Benutzer-Avatar
David

Dieses Git sollte Ihnen helfen, das zu implementieren, was Sie wollen:
https://github.com/spongebobrf/MaterialIntroTutorial,

Diese Android-Bibliothek demonstriert ein Material-Intro-Tutorial, ähnlich wie in Google Sheets, wie Sie bereits erwähnt haben.

Außerdem übernimmt diese Bibliothek die für jede Seite eingestellte Hintergrundfarbe und beim Scrollen zwischen den beiden Seiten werden die beiden Farben ineinander übergehen

Hier sind ein paar weitere Intro-Gits, die dir helfen können:

  1. https://github.com/HeinrichReimer/material-intro
  2. https://github.com/PaoloRotolo/AppIntro

  • Diese sehen wirklich toll aus!

    – Gesteckt

    20. März 2017 um 1:44 Uhr

Benutzer-Avatar
yannickpulver

Ich habe diese Bibliothek hier gefunden:

CircleIndicator-Bibliothek

Es erstellt mit diesen Kreisen einen Lollipop-ähnlichen ViewPager. Formatieren Sie das Layout einfach so, dass es für Ihre App geeignet ist, und dann sollte es Ihnen gut gehen. Es enthält keine Animation, aber ich denke, es ist ein Anfang.

Sie können ViewPagerIndicator hier verwenden: http://viewpagerindicator.com/#download. Dann sollten Sie SharedPreferences definieren, um diesen ViewPager nur einmal anzuzeigen. Du kannst schreiben:

public class MainActivity extends Activity {
    public static final String MyPrefs = "MyPrefs";
    ...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SharedPreferences sp = getSharedPreferences(MyPrefs, Context.MODE_PRIVATE);
        if (!sp.getBoolean("first", false)) {
            SharedPreferences.Editor editor = sp.edit();
            editor.putBoolean("first", true);
            editor.commit();
            Intent intent = new Intent(this, SampleCirclesDefault.class); //call your ViewPager class
            startActivity(intent);
        }
    }
}

Benutzer-Avatar
dniHze

Vielleicht möchten Sie eine der Lösungen von Roman Nurik verwenden: https://github.com/romannurik/Android-WizardPager

Benutzer-Avatar
Ein Mann

Wenn Sie keine Bibliothek verwenden möchten, ist es ziemlich einfach. Früher habe ich eine Bibliothek verwendet, aber ich habe angefangen, eine benutzerdefinierte Version zu implementieren. Alles, was Sie tun müssen, ist eine Ansicht mit Registerkarten und einen Pager anzuzeigen. Gestalten Sie dann alle diese Seiten im Tutorial als Fragmente. Diese Fragmente können beliebige Schaltflächen an beliebigen Positionen und unterschiedlichen Stilen haben, da Sie jedes Fragment selbst implementieren. Und es ist nicht schwierig. Verwenden Sie am Ende einfach gemeinsame Einstellungen, um zu überprüfen, ob es sich um den ersten Lauf handelt. Wenn es wie die Aktivität ist, die alle Fragmente hat. Anderenfalls wird diese Aktivität nicht angezeigt.

  • Wenn Sie keine externe Bibliothek verwenden möchten, sollten Sie sich unbedingt dieses Tutorial ansehen: stackoverflow.com/questions/26954217/…

    – Mussa

    16. Oktober 2018 um 13:40 Uhr

1144660cookie-checkSo implementieren Sie ein Erststart-Tutorial wie Android Lollipop-Apps: Wie Sheets, Slides-App?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy