我正在贺卡应用程序上工作,并且我需要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);
}
}
我想要的是:
我得到的是:
提前致谢。
最佳答案
最好使用简单且开放源代码使用的页面curl。https://code.google.com/p/android-page-curl/希望这对您有所帮助。