2010-05-24 4 views
32

Quelle est la meilleure façon de mettre en œuvre la barre d'action comme modèle d'interface utilisateur de l'échantillon twitter.Barre d'action Android comme échantillon Twitter

Twitter pour Android: Un examen plus approfondi des modèles d'interface utilisateur en évolution d'Android Motif 4: Barre d'action http://android-developers.blogspot.com/2010/05/twitter-for-android-closer-look-at.html

+1

Sérieusement Son été un an plus tard et le code source pour cette n'a toujours pas été publié. Et je n'arrive pas à trouver cette version de l'application sur le marché. À qui devez-vous parler à google pour y arriver? – Terrance

Répondre

23

Vous pouvez jeter un oeil au code source de l'application de calendrier Google I/O 2010, qui est open source et contient une implémentation barre d'action:

http://code.google.com/p/iosched/

+0

Il y a une erreur dans le projet SimpleMenuItem.java. Le compilateur dit qu'il n'implémente pas une méthode abstraite de son MenuItem parent. Tout ce que vous avez à faire est d'obtenir le menu contextuel d'Eclipse pour remplir une implémentation vide pour vous. Ensuite, le projet compile bien. – JoJo

2

Google suppose à peu l'open source app twitter bientôt (je l'espère) comme vitrine pour tout ce qu'ils parlent dans ce article. Si vous ne pouvez pas attendre - masquer la barre de titre. Créer une mise en page qui ressemble à cela. Incluez-le dans toutes vos activités via tag.

+0

Ouais, le ActionBar n'est pas si difficile que ce soit les QuickActions qui me sautent aux yeux! – CaseyB

+0

@CaseyB Moi aussi..espérons que Google publiera le code source bientôt !! – Juri

10

Je suis en attente aussi dur jusqu'à ce que Google sources ouvertes l'application Twitter ... mais aussi tweeting Reto Meier n'a pas apporté des informations sur un dégagement possible ... de toute façon.

En ce qui concerne QuickActions J'ai trouvé les liens intéressants suivants qui peuvent potentiellement être intéressant pour certains d'entre vous:

Amusez-vous bien!

+0

Couple d'entre nous a demandé à Reto Meier [autres googleurs] à Droidcon Londres 2010 sur l'open source de l'application Twitter. Ils ont dit que c'était à Twitter. – scottyab

+1

@scottyab parfait .... bonne chance alors. Je me demande juste parce que Twitter a fièrement publié que Google l'ouvrirait sur son blog (au moment de l'annonce de l'application) et maintenant ... plus d'un an plus tard ... rien ne s'est passé – Juri

37

Une autre mise en œuvre de la barre d'action peut être trouvé ici (bouchon éhonté), https://github.com/johannilsson/android-actionbar. Il est implémenté en tant que projet de bibliothèque, il n'est donc pas nécessaire de copier-coller des ressources. L'implémentation est construite comme un widget qui étend un RelativeLayout avec sa propre disposition pour les actions et la barre. Cela permet de l'ajouter aux mises en page avec son propre extrait xml.

<com.markupartist.android.widget.ActionBar 
    android:id="@+id/actionbar" 
    style="@style/ActionBar" 
    /> 

Ensuite, faites-le dans une activité pour ajouter des actions.

ActionBar actionBar = (ActionBar) findViewById(R.id.actionbar); 
actionBar.setTitle("Other"); 
actionBar.setHomeAction(new IntentAction(this, HomeActivity.createIntent(this), R.drawable.ic_title_home_default)); 
actionBar.addAction(new IntentAction(this, createShareIntent(), R.drawable.ic_title_share_default)); 
actionBar.addAction(new ToastAction()); 
+1

Johan, ça ressemble à un excellent projet. J'ai cependant du mal à le connecter correctement avec mon propre code. J'ai importé votre code en tant que projet de bibliothèque dans mon espace de travail Eclipse, j'ai ajouté votre projet en tant que 'bibliothèque' dans les propriétés de mon projet et ajouté une référence dans mon AndroidManifest.xml. Il se compile bien sur ma machine mais lors de l'installation dans l'émulateur, logcat signale qu'il ne trouve aucune des ressources (il les liste par code hexadécimal). Des suppositions rapides quant à ce que j'ai pu manquer? –

+1

Il n'est pas nécessaire d'utiliser , la seule chose à faire est de se référer au projet de la barre d'action de votre projet principal. Depuis Eclipse, vous pouvez le faire à partir du menu des propriétés, puis choisissez Android, puis en bas de la section Bibliothèque, ajoutez la référence au projet de barre d'action. Les projets de bibliothèque nécessitent également des outils et des plates-formes Android quelque peu mis à jour, plus d'informations sur les projets de bibliothèque et comment faire référence à un projet de bibliothèque peuvent être trouvés dans les documents ici; http://developer.android.com/intl/zh-TW/guide/developing/eclipse-adt.html#libraryProject –

+0

J'ai mis à jour mon projet d'application principal pour référencer votre projet de bibliothèque, mais mon IDE (IntelliJ) a gagné ' t reconnaître l'instruction '" import com.markupartist.android.widget.ActionBar "' ou la déclaration de mise en page en XML. Avez-vous de l'expérience pour faire référence à un projet de bibliothèque sans utiliser Eclipse/ADT? – ohhorob