Jump to content

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.

Edited by throrin19
Link to comment
Share on other 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)

Link to comment
Share on other 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)

Edited by cyberalternative
Link to comment
Share on other 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
Link to comment
Share on other 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

Link to comment
Share on other 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. ;)

Link to comment
Share on other 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.

Link to comment
Share on other 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.

Edited by cyberalternative
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...