我正在制作贺卡应用程序,我需要卡片翻转视图类型的View。我添加了相同的图像。 我经历过多个翻转视图库,我发现android-flipview 更适合我的要求。 我在这个库中进行了更改,使其像贺卡一样从左角翻转。 我正在添加相同的代码和截图。
但是,它不像我需要的那样工作。
View_Dual_card.java文件,我做了这样的改变:
public synchronized void buildTexture(FlipRenderer renderer, GL10 gl) {
if (screenshot != null) {
if (texture != null)
texture.destroy(gl);
texture = Texture.createTexture(screenshot, renderer, gl);
recycleScreenshot();
topCard.setTexture(texture);
bottomCard.setTexture(texture);
final float viewHeight = texture.getContentHeight();
final float viewWidth = texture.getContentWidth();
final float textureHeight = texture.getHeight();
final float textureWidth = texture.getWidth();
if (orientationVertical) {
topCard.setCardVertices(new float[] { 0f, viewHeight, 0f, // top left
0f, viewHeight / 2.0f, 0f, // bottom left
viewWidth, viewHeight / 2f, 0f, // bottom right
viewWidth, viewHeight, 0f // top right
});
topCard.setTextureCoordinates(new float[] { 0f, 0f, 0f,
viewHeight / 2f / textureHeight,
viewWidth / textureWidth,
viewHeight / 2f / textureHeight,
viewWidth / textureWidth, 0f });
bottomCard.setCardVertices(new float[] { 0f, viewHeight / 2f,
0f, // top left
0f, 0f, 0f, // bottom left
viewWidth, 0f, 0f, // bottom right
viewWidth, viewHeight / 2f, 0f // top right
});
bottomCard.setTextureCoordinates(new float[] { 0f,
viewHeight / 2f / textureHeight, 0f,
viewHeight / textureHeight, viewWidth / textureWidth,
viewHeight / textureHeight, viewWidth / textureWidth,
viewHeight / 2f / textureHeight });
} else {
topCard.setCardVertices(new float[] { 0f, viewHeight, 0f, // top left
0f, 0f, 0f, // bottom left
viewWidth /27f, 0f, 0f, // bottom right
viewWidth /27f, viewHeight, 0f // top right
});
topCard.setTextureCoordinates(new float[] { 0f, 0f, 0f,
viewHeight / textureHeight,
viewWidth / 27f / textureWidth,
viewHeight / textureHeight,
viewWidth / 27f / textureWidth, 0f });
bottomCard.setCardVertices(new float[] {0f,
viewHeight, 0f, // top left
0f, 0f, 0f, // bottom left
viewWidth, 0f, 0f, // bottom right
viewWidth, viewHeight, 0f // top right
});
bottomCard.setTextureCoordinates(new float[] {
viewWidth /27f / textureWidth, 0f,
viewWidth /27f / textureWidth,
viewHeight / textureHeight, viewWidth / textureWidth,
viewHeight / textureHeight, viewWidth / textureWidth,
0f });
}
checkError(gl);
}
}
我想要的是什么:
我得到的是什么:
提前感谢。
答案 0 :(得分:1)
最好使用简单且开源的页面卷曲。https://code.google.com/p/android-page-curl/希望这可能会对您有所帮助。
答案 1 :(得分:0)
这个动画是一个简单的缩放和倾斜动画。
答案 2 :(得分:0)
图像似乎在倾斜。确保您查看的区域大于原始卡片。