开发者

Not getting complete text while Animation on Canvas : Android,

I want to get an animated text in Android where it should run from left to right on the screen. Eg. I want to get this text private static final String QUOTE = "Nobody uses Java anymore. It's this big heavyweight ball and chain.";

running from right to left using animation.

However, this text gets truncated to "Nobody uses Java anymore. It's" in Portrait mode and to "Nobody uses Java anymore. It's this big heavyweight" in landscape mode.

This is the code that I have used

        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 Accelerate开发者_StackOverflow社区DecelerateInterpolator());
        anim2.setRepeatMode(Animation.RESTART);
        anim2.setDuration(1000L);
        startAnimation(anim2);

             }


How to do Text Animations using Android SDK?

Please refer this post for text animations.


Please check height and width of canvas ,

// 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);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜