IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Afficher un message à l'écran.


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 29
    Par défaut Afficher un message à l'écran.
    Bonjour tout le monde !!

    J'ai un petit problème ! Voila, j'ai une application dans laquelle j'ai un écran de preview de camera. sur cet écran, j'affiche un texte d'information. Le problème, c'est que le texte se doit de changer a chaque photo prise, mais impossible d'effacer le texte que j'ai affiché la fois d'avant ! Du coup le nouveau se positionne sur le précédent. Donc, je voulais savoir si quelqu'un avait une méthode valable pour :

    1 - afficher un texte sur l'écran de ma camera
    2 - effacer le texte en présence pour le remplacer par un autre.

    Voila ! Sinon voici comment je procède :
    j'ai une classe permettant de dessiner mon texte (ac un rectangle rouge)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.view.View;
     
    public class GuideBox extends View {
    	public String str;
     
    	public GuideBox(Context context,String nom_p) {
    	super(context);
    	// TODO Auto-generated constructor stub
    	str=nom_p;
    	}
     
    	public void setString(String nom){
    		str=nom;
    	}
     
    	@Override
    	protected void onDraw(Canvas canvas) {
    	// TODO Auto-generated method stub
     
    	Paint paint = new Paint();
    	paint.setStyle(Paint.Style.FILL);
    	paint.setColor(Color.RED);
     
    	//center
    	int x0=canvas.getWidth()/2;
    	int y0=canvas.getHeight()/2;
    	int dx=canvas.getHeight()/4;
    	//int dy=canvas.getHeight()/3;
     
    	//draw guide box
    	canvas.drawRect(x0-dx, y0-3, x0+dx, y0+3, paint);
    	canvas.drawText(str, 10, 30, paint);
    	super.onDraw(canvas);
    	}
    }
    et ensuite, dans mon activity dans laquelle j'ai ma camera, je n'ai plus qu'à créer mon objet et à l'ajouter comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GuideBox guideBox = new GuideBox(mContext,nom);
    addContentView(guideBox, new layoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) );

    EDIT : Bon j'ai trouvé une solution finalement (toute con en plus hein ) c'est de mettre mes informations ds le titre !!
    Par contre je sais pas trop comment le personnaliser donc si quelqu'un sait si c'est possible et comment on fait, ce serait sympa de me le faire savoir !

    Merci d'avance.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    Vous voulez faire tout avec les api de bas niveau sinon c'est très facile avec les api de haut niveau ce genre de truc que tu compte faire.

    Superposer : il faut penser à FrameLayout.

    Update de Text : il faut appliquer la methode
    canvas.save();

    // action SetString("deuxiemenom");

    canvas.restore();

    canvas.invalidate(Rect lapartie);
    Ceci pour ne pas imposer à faire une mise à jour de l'ecran car tu n'en a pas besoin, tu veux juste update le texte pas autre chose.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 29
    Par défaut
    Merci !

    C'est pile poil ce qu'il me fallait !
    Avec une frameLayout, je peux mettre un TextView en haut de ma fenêtre, dans lequel je mettrais a jour mes infos au moment voulu ! j'vais même surement rajouter des boutons en bas de ma preview, faut juste que je trouve comment les afficher que quand je clicke en bas de l'écran (ou un truc dans le genre)

    Merci !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ne pas afficher un message Warning a l'écran
    Par l.laurent60 dans le forum Langage
    Réponses: 9
    Dernier message: 14/01/2011, 12h25
  2. Réponses: 7
    Dernier message: 17/01/2007, 09h37
  3. comment affiché un message d'erreur
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/11/2004, 12h12
  4. Réponses: 9
    Dernier message: 24/03/2004, 12h15
  5. Difficultés pour afficher un pixel à l'écran
    Par Bubonik software dans le forum C
    Réponses: 9
    Dernier message: 17/08/2003, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo