Aller au contenu

Personaliser ActionBar


throrin19

Recommended Posts

Bonjour,

je me lance dans la création d'une application android assez complexe et très customizable (couleur, fond, ...)

En cherchant les outils dont j'avais besoin, je suis tombé sur GreedDroid et je me suis donc laissé tenté par son actionBar. Malheureusement, je n'arrive pas à faire tout ce que je veux et je ne trouve pas l'aide écrite attendue (tuto assez bien expliqué, ...)

Tout d'abord voici ce que je veux faire

Dans mon application, j'arrive à une page avec une ActionBar, cette ActionBar doit être entièrement personnalisable (couleurs et titre). Elle ne doit pas avoir le bouton home.

Donc j'ai suivi l'aide d'entrée et voici mon code + une vue :

public class ListEvents extends GDActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	requestWindowFeature(Window.FEATURE_NO_TITLE);
 	Window window = getWindow();
 	window.setFormat(PixelFormat.OPAQUE);
 	window.addFlags(WindowManager.LayoutParams.FLAG_DITHER);


	setActionBarContentView(R.layout.list_events);
	addActionBarItem(Type.Refresh);
	addActionBarItem(Type.Search);

}

}

actionbar001.png

Puis-je supprimer le bouton home? Si oui, comment?

Puis-je aussi changer la couleur par défaut de l'actionBar?? j'ai essayé de faire comme dans les exemples mais j'obtiens un truc vraiment bizarre

Merci d'avance.

Modifié par throrin19
Lien vers le commentaire
Partager sur d’autres sites

Je repop un coup histoire de mettre à jour mes recherches.

Je viens de trouver comment virer le bouton home, il me suffit de redéfinir le type de l'actionBar :

getActionBar().setType(greendroid.widget.ActionBar.Type.Dashboard);

Je cherche toujours comment mettre un titre et personnaliser le style de l'actionBar (couleur de background en uni/dégradé voir masquer la barre si besoin)

Lien vers le commentaire
Partager sur d’autres sites

  • 6 months later...

Je cherche toujours comment mettre un titre et personnaliser le style de l'actionBar (couleur de background en uni/dégradé voir masquer la barre si besoin)

Bonjour, je ne sais pas si tu cherches toujours comment faire (le post est un peu vieux). Dans tous les cas ça pourra servir à d'autres.

- Je ne sais pas faire un dégradé.

- Pour mettre un titre à l'actionbar il suffit d'utiliser la méthode suivante de ta GDActivity :

this.setTitle("tonTitre")

- Pour masquer l'actionBar :

this.getActionBar().setVisibility(View.GONE);

- Pour mettre une couleur unie :

this.getActionBar().setBackgroundColor(int color)

- Pour mettre un background :

this.getActionBar().setBackgroundDrawable(drawable)

Modifié par cyberalternative
Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Heu, je vais peut être passer pour un con encore mais l'ActionBar elle est dans GreenDroid ou on peut en créer une sans passer par un framework ?

Salut.

L'ActionBar dont nous parlons ici fait effectivement partie de la bibliothèque GreenDroid.

Cependant il est tout à fait possible de créer ton propre composant ActionBar, je crois avoir également croisé un composant ActionBar seul (sans framework ou bibliothèque).

Après tout dépend des besoins.

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Tu as du résoudre tout tes problèmes mais voici un avis perso:

GreenDroid est une bonne bibliothèque et Cyril a fait un super job. Mais si tu veux te rapprocher des dernières API, je te conseille plutôt ActionBarSherlock (https://github.com/JakeWharton/ActionBarSherlock) : Utilisation des API de la Compatibility library, possibilité d'utiliser les fragments, ...

Le site de ActionBarSherlock : http://actionbarsherlock.com/usage.html

Lien vers le commentaire
Partager sur d’autres sites

Salut.

L'ActionBar dont nous parlons ici fait effectivement partie de la bibliothèque GreenDroid.

Cependant il est tout à fait possible de créer ton propre composant ActionBar, je crois avoir également croisé un composant ActionBar seul (sans framework ou bibliothèque).

Après tout dépend des besoins.

Effectivement j'ai remarqué aussi le ActionBar dans l'API de base mais elle n'est dispo que sous android 3.2 donc ne s'affiche pas sur les versions antérieures... J'en ai simulé une vite fait avec un imageButton et c'est bon ça fonctionne sans framework.

Merci. ;)

Lien vers le commentaire
Partager sur d’autres sites

Je désire ajouter une remarque pour les nouveaux utilisateurs de GreenDroid. Pour afficher le bouton Home, le titre et une icône refresh, il suffit d'utiliser ce code dans la méthode onCreate de votre GDActivity.

       getActionBar().setType(greendroid.widget.ActionBar.Type.Normal);
       addActionBarItem(Type.Refresh);
       setTitle("Le titre");

On aurait réellement besoin d'un site 100% dédié au support de ce framework.

Lien vers le commentaire
Partager sur d’autres sites

Je désire ajouter une remarque pour les nouveaux utilisateurs de GreenDroid. Pour afficher le bouton Home, le titre et une icône refresh, il suffit d'utiliser ce code dans la méthode onCreate de votre GDActivity.

On aurait réellement besoin d'un site 100% dédié au support de ce framework.

Edit : J'ai un autre problème : quelqu'un sait comment changer l'icône et l'action du bouton "Home" ? (le remplacer par un autre bouton en fait).

(Edit) Solution : propreté à vérifier !

((ImageButton)actionBar.getChildAt(0)).setImageResource(drawable);
  actionBar.getChildAt(0).setOnClickListener(new OnClickListener() {
 @Override
  public void onClick(View v) {
   //NOUVELLE ACTION

  }
 });

Merci à vous.

NB : Pour le support je suis d'accord, il y a toujours le blog de l'auteur, mais c'est un blog et donc pas documenté, à part quelques commentaires : http://android.cyrilmottier.com.

Modifié par cyberalternative
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...