Android 7.1 Nougat ha portato principalmente le scorciatoie sulla homescreen su tutti i Nexus e Google Pixel: gli sviluppatori di launcher che vogliono far provare questa curiosa novità anche su smartphone non-Nougat, possono dare un’occhiata alla nuova libreria di Michele Lacorte.

Lo sviluppatore italiano, infatti, ha pensato di mettere a disposizione una libreria open-source per tutti i programmatori che vogliono aggiungere le scorciatoie di Nougat nel proprio launcher.

AndroidShortcuts è compatibile fino a dispositivi con livello 14 di API e funziona proprio come l’implementazione originale: potete trovarne un esempio nella GIF sottostante.

Il funzionamento è molto semplice e di facile comprensione: dal Gradle basterà aggiungere una dependecy e la relativa repository mentre gli oggetti da utilizzare sono principalmente ShortcutsCreation, che crea l’effettiva scorciatoia, GestureDetector che invece associa ogni evento (listener) del touch ad un’azione da intraprendere.

Nel metodo onLongPress, ad esempio, viene richiamata una funziona che crea una “Shortcuts”, gli associa un’animazione e mostra un avviso Toast al click. Sotto trovate lo snippet:

public void onLongPress(MotionEvent motionEvent) {

                //Make sure to clear layout before create new
                shortcutsCreation.clearAllLayout();

                //Now create shortcuts!!
                shortcutsCreation.createShortcuts((int)motionEvent.getX(), (int)motionEvent.getY(), 96,
                        new Shortcuts(R.mipmap.ic_launcher, "Shortcuts", new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                Toast.makeText(getApplicationContext(), "Hello Shortcuts!!", Toast.LENGTH_LONG).show();
                            }
                        }),
                        new Shortcuts(R.mipmap.ic_launcher, "Hello!"));
            }

Insomma, se avete sviluppato un launcher e siete interessati a inserire questa nuova feature, potete dare un’occhiata a questa libreria di Michele Lacorte. Qui sotto trovate il progetto su GitHub:

GitHub | AndroidShortcuts