答案 0 :(得分:0)
由harism创建的页面卷曲动画动画三页。如果您可以控制设置文本,您可以实现您想要的。 :)
答案 1 :(得分:0)
要并排显示两个页面,您需要将viewmode设置为2.
mCurlView.setviewMode(2);
这里有几个用于动态设置位图的解决方案,最简单但不是最漂亮的是将绘图缓存设置为启用,然后从那里创建位图...
RootView.setDrawingCacheEnabled(true);
Bitmap bitmap = RootView.getDrawingCache();
RootView.setDrawingCacheEnabled(false);
我无法在curlview和RootView之间进行过渡以顺利运行...
对于我自己的应用程序,我所做的是使用Canvas将文本绘制到位图并将它们保存到文件以供PageProvider类使用
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setColor(Color.rgb(61, 61, 61));
paint.setShadowLayer(1f, 0f, 1f, Color.WHITE);
float yOffset = UPPERPADDING;
Rect bounds = new Rect();
paint.getTextBounds(mText, 0, mText.length(), bounds);
String path = Environment.getExternalStorageDirectory().toString();
File directory = new File (path +"/mydir");
if (!directory.exists()) directory.mkdir();
File filename = new File(path, "/mydir/"+DynamicFileName+".png");
if (!filename.exists()) filename.createNewFile();
canvas.drawText(line, bounds.left + PADDING, yOffset, paint);
FileOutputStream out = new FileOutputStream(filename);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
out.close();
你应该注意这个伪代码会留下一些问题,如多行文本,行间距,尝试和捕获等...
您还应注意,您可以通过动态或静态设置PageProvider类中的页数来增加或减少动画页面的数量...
我亲自使用List arraylist来保存我的位图所以我这样做了......
@Override
public int getPageCount() {
if (maps.isEmpty()){
return 1;
}else{
return maps.size()+1;}
}
并在loadBitmap方法中设置像这样的位图
b = Bitmap.createBitmap(660, 660, Bitmap.Config.ARGB_8888);
c = new Canvas(b);
d = new BitmapDrawable(getResources(), maps.get(index));
在updatePage方法中加载CurlView的前后页面上的地图,您需要将每个页面的正面和背面设置为动态地图,例如:
Bitmap front = loadBitmap(width, height, FrontIndex);
Bitmap back = loadBitmap(width, height, BackIndex);
page.setBitmap(front, CurlPage.SIDE_FRONT);
page.setBitmap(back, Curlpage.SIDE_BACK);