Domanda

Il mio obiettivo è quello di modificare l'applicazione di avvio e dinamicamente modificare e cambiare il tema.

Ho visto diverse applicazioni 'casa' a http: // www. cyrket.com/p/android/com.stain46.taghome/ . Sembra che hanno preso il default iniziale (Launcher) e modificato. Come hanno fatto? Di cosa ho bisogno di modificare per ottenere la stessa cosa?

È stato utile?

Soluzione

Ho fatto questo con il programma di avvio ICS. È inoltre necessario fare un certo numero di modifiche al codice per farlo compilare come un app normale perché utilizza un sacco di API interne private (nonostante quello che Google potrebbe essere implicita). È inoltre necessario modificare il nome del pacchetto. Ci sono due limitazioni che ho trovato:

  1. C'è un filtro chiamato TableMaskFilter che non è disponibile per le normali applicazioni. Credo questo permette al cassetto app di essere semi-trasparente, ma ho rimosso usi di esso e sembra bene Credo.

  2. Più critico, sembra che ci sia alcun modo per replicare l'esperienza su widget aggiungendo perché richiede un permesso che solo le applicazioni di sistema possono avere. Vai a questa domanda.

In ogni caso, ho messo la mia fonte qui . Compila e lavora sul sito ufficiale di Galaxy S2 4.0.3, ma se si tenta di aggiungere widget che andrà in crash.

Nota, quando si sta cambiando il nome del pacchetto, ci sono luoghi che refactoring di Eclipse non si accorge (ad esempio layout XML). Vi consiglio di fare una ricerca globale / sostituire al posto.

Altri suggerimenti

Lo standard Launcher è open source in modo da poter sicuramente afferrarlo e modificarlo nel modo desiderato. Per la vostra applicazione da utilizzare come schermata principale è necessario specificare la corretta Intent filtro nel AndroidManifest.xml e l'utente dovrà scegliere la vostra applicazione quando si preme il pulsante Home. Perché non afferrare quel codice, giocare con lui e tornare quando si hanno più domande e di più di un'idea di ciò che si desidera modificare.

Qui ho trovato una versione stabile Launcher2

Ho la condivisione che GitHub pronti contro termine. qui

WIKI di questo progetto:

Questo progetto contiene il codice per l'applicazione di avvio che viene fornito con Android Jelly Bean (API 16).

Alcune modifiche minori sono stati richiesti da questo codice sorgente per rimuovere l'uso di API private. Questi cambiamenti sono stati caratterizzati da "// AOSP Change"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top