В основном я занимаюсь разработкой приложения для чтения электронных книг на 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;
}
Любые предложения или любые другие решения будут по достоинству оценены.Спасибо