2010-11-16 22 views
0

Je veux obtenir un texte animé dans Android où il devrait fonctionner de gauche à droite sur l'écran. Par exemple. Je veux obtenir ce texte private static final Chaîne QUOTE = "Personne n'utilise plus Java, c'est cette grosse boule et cette grosse chaîne.";Ne pas obtenir le texte complet lorsque Animation on Canvas: Android,

de droite à gauche en utilisant l'animation.

Cependant, ce texte est tronqué à "Plus personne n'utilise Java" en mode Portrait et à "Personne n'utilise plus Java, c'est un gros poids lourd" en mode paysage.

Voici le code que je l'ai utilisé

 Paint paint = new Paint(); 
     paint.setColor(Color.BLUE); 
     private static final String QUOTE = 
     "Nobody uses Java anymore. It's this big heavyweight ball and chain."; 
     paint.setTextSize(20); 
     paint.setAntiAlias(true); 
     int len= QUOTE.length(); 
     canvas.scale(1,-1); 
     canvas.drawText(QUOTE, 0, len-1, 100, 60, paint); 
     canvas.drawText(QUOTE,0,100 , paint); 
     createAnim(canvas); 


      private void createAnim(Canvas canvas) { 

     anim2= new TranslateAnimation(500,-500,30,30); 
     anim2.setRepeatCount(Animation.INFINITE); 
     anim2.setInterpolator(new AccelerateDecelerateInterpolator()); 
     anim2.setRepeatMode(Animation.RESTART); 
     anim2.setDuration(1000L); 
     startAnimation(anim2); 

      } 

Répondre

0

S'il vous plaît vérifier la hauteur et la largeur de toile,

// Custom Font Text 
      Bitmap bitmap = Bitmap.createBitmap((int) getWindowManager() 
        .getDefaultDisplay().getWidth(), 
        (int) getWindowManager().getDefaultDisplay() 
          .getHeight()/2, Bitmap.Config.ARGB_8888); 
      canvas = new Canvas(bitmap); 
      drawingImageView.setImageBitmap(bitmap); 
      paint = new Paint(); 
      paint.setColor(Color.BLACK); 
      paint.setTextSize(150); 
      Typeface chops = Typeface.createFromAsset(this.getAssets(), 
        "WC_Speed_Bold_Bta.ttf"); 
      paint.setTypeface(chops); 
      int xPos = (canvas.getWidth()/2); 
      int yPos = (int) ((canvas.getHeight()/2) - ((paint.descent() + paint 
        .ascent())/2)); 
      canvas.drawText("Hello", xPos, yPos, paint);