Как я могу достичь анимации Flip Book в Android?
В основном я занимаюсь разработкой приложения для чтения электронных книг на Android, где мне нужна анимация скручивания страниц. Я пытался добиться с помощью https://github.com/harism/android-pagecurl но у меня 2 проблемы
1) Анимация скручивания страницы с помощью harism не работает должным образом, когда страница переворачивается назад. Например: я просматриваю страницы до 4, затем возвращаюсь, чтобы загрузить страницу 4. Если я перехожу на другую страницу назад, она должна загружать страницу 3. Вместо этого она загружает страница 5 та же проблема была задана ранее, но она дает некоторые советы, которые я уже пробовал
2) Я использую TextView и создаю растровое изображение, и мне нужна прокрутка, так как содержимое Text View не помещается на экране, поэтому я не уверен, смогу ли я достичь как
создание растрового изображения.
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 ответ
Вы должны попробовать эту библиотеку deffinetly
https://github.com/eschao/android-PageFlip
Он имеет действительно интересные функции, и это один из лучших
Вы можете задать соотношение ширины страницы от 0 до 0,5f, чтобы задать область для ответа на событие клика, чтобы вызвать переворот страницы. Значение по умолчанию - 0,5f, что означает, что обратный переворот произойдет, если вы нажмете левую половину экрана, и прямой переворот начнется, если вы нажмете правую половину экрана в одностраничном режиме.