Не получается получить полный текст во время анимации на холсте: Android, - PullRequest
0 голосов
/ 16 ноября 2010

Я хочу получить анимированный текст в Android, где он должен запускаться слева направо на экране. Например. Я хочу получить этот текст приватная статическая финальная строка QUOTE = «Никто больше не использует Java. Это большой тяжеловесный мяч и цепь»;

работает справа налево с использованием анимации.

Однако этот текст обрезается до «Никто больше не использует Java. Это» в портретном режиме и до «Никто больше не использует Java. Это такой большой тяжеловес» в ландшафтном режиме.

Это код, который я использовал

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

             }

Ответы [ 2 ]

0 голосов
/ 15 октября 2014

Пожалуйста, проверьте высоту и ширину холста,

// 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 голосов
/ 16 ноября 2010

Как сделать анимацию текста с помощью Android SDK?

Пожалуйста, обратитесь к этому сообщению для анимации текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...