Как я могу достичь анимации Flip Book в Android? - PullRequest
0 голосов
/ 08 июня 2018

В основном я занимаюсь разработкой приложения для чтения электронных книг на Android, где мне нужна анимация скручивания страниц.Я пытался добиться с помощью https://github.com/harism/android-pagecurl, но имел 2 проблемы

1) Анимация скручивания страницы из-за того, что harism не работает должным образом, когда страница переворачивается назад. Например: я пролистываю страницы до 4, затемвернуться назад, он загружает страницу 4. Если я перехожу на другую страницу назад, она должна загрузить страницу 3. Вместо этого она загружает страницу 5.та же проблема была задана ранее, но она дает некоторые подсказки, которые я уже пробовал

Анимация скручивания страницы Android от Harism показывает несогласованность в обратном подсчете индекса в методе getBitmap () CurlActiviy ()?

Анимация скручивания страницы с помощью harism не работает должным образом, когда страница переворачивается назад

2) Я использую TextView и создаю растровое изображение, и я хочу прокручивать, как текстовое представлениеконтент не помещается на экран, поэтому я не уверен, смогу ли я достичь этого при создании
растрового изображения.

 private Bitmap loadBitmap(int width, int height, int index) {

        String text1, tittle;
        Bitmap txtBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        if (txtArr == null || txtArr.length == tempArrIndex + 1) {
            text1 = nitiinfoArrayList.get(pageindex).content;
            txtArr = text1.split(Constant.strpattern);
            pageCount = pageCount + txtArr.length;
            pageindex++;
            tempArrIndex = 0;
        } else if (txtArr.length > 1) {
            tempArrIndex++;
        }
        text1 = txtArr[tempArrIndex];
        int margin = 7;
        Rect r = new Rect(margin, margin, width - margin, height - margin);
        Canvas c = new Canvas(txtBitmap);
        Typeface ttf = Typeface.createFromAsset(context.getAssets(), "fonts/shruti.ttf");
        TextView tv = new TextView(getApplicationContext());
        tv.setText(text1);
        tv.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
        tv.setTextSize(18);
        tv.setTypeface(ttf);
        tv.setGravity(Gravity.CENTER);
        tv.layout(0, 0, getResources().getDisplayMetrics().widthPixels, getResources().getDisplayMetrics().heightPixels);
        Paint p = new Paint();
        p.setColor(getResources().getColor(R.color.chromelight));
        c.drawRect(r, p);
        tv.draw(c);
        c.drawBitmap(txtBitmap, 0, 0, null);

        return txtBitmap;
    }

Любые предложения или любые другие решения будут по достоинству оценены.Спасибо

1 Ответ

0 голосов
/ 08 июня 2018

Вы должны попробовать эту библиотеку deffinetly

https://github.com/eschao/android-PageFlip

Она имеет действительно интересные функции, и это одна из лучших

Вы можете дать соотношениешириной страницы от 0 до 0,5f, чтобы установить область для ответа на событие щелчка, чтобы вызвать переворот страницы.Значение по умолчанию - 0,5f, что означает, что обратный переворот произойдет, если вы нажмете левую половину экрана, и обратный переворот начнется, если вы нажмете правую половину экрана в одностраничном режиме.

...