我看着H & M Android應用程序,並試圖找出如何實現一些小部件。 任何人都可以有一個想法如何實現這個圖像框架? 我可以猜測它使用openGL。如何在Android中實現這個圖像堆棧效果?
回答
透明的PNG幀?這也可能是九補丁!
這種方法的+1。這裏有一些有用的鏈接http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch和http://developer.android.com/tools/help/draw9patch.html – cottonBallPaws
This現場效果不是PNG – Ronel
好吧!那麼動畫PNG呢?將OpenGL添加到一個簡單的新聞應用程序似乎太「沉重」了!當然你可以實現它,但我認爲它比一個複雜而簡單的方法更難! – madlymad
我會冒險猜測;)
首先創建正面圖像。在這種情況下,它是通過使用ImageView和TextView使線性佈局膨脹來構建的。然後將其緩存到位圖(在設置階段,而不是繪製時間)。
在onDraw中,該位圖被繪製到屏幕上。然後剪切畫布以避免再繪製該區域。節省大量的繪圖時間,不會對透明像素進行四重透視。
然後,背景被繪製這樣的:
for(int i = NUMBER_OF_LAYERS - 1; i > 0; i--) {
canvas.save();
float rotation = MAX_ANGLE * shiftModifier * ((float) i/(NUMBER_OF_LAYERS - 1));
canvas.rotate(rotation, mImageHalfWidth, mImageHalfHeight);
paint.setAlpha((int) (255f/(2 * i)));
canvas.drawRect(mBitmap.getBounds(), paint);
canvas.restore();
}
NUMBER_OF_LAYERS是背景層的數量。
MAX_ANGLE是最傾斜層的旋轉角度。
shiftModifier用於爲背景圖層設置動畫。它從零(完全隱藏的背景)移動到一個(背景角度= MAX_ANGLE)。
油漆只是一個顏色設置爲白色的油漆。
- 1. 如何在android中實現圖像視圖的縮放效果?
- 2. 如何在Android中實現圖像失真效果
- 3. 這個堆棧實現的問題
- 4. 如何實現像堆棧溢出這樣的搜索
- 5. 如何實現這個javascript效果?
- 6. 如何在javascript中創建有效的堆棧實現?
- 7. 在MySQL中實現堆棧
- 8. 在java中實現堆棧
- 9. 在C++中實現堆棧
- 10. 在C++中實現堆棧
- 11. 在c中實現堆棧
- 12. 堆棧實現
- 13. 如何實現兩個堆棧隊列
- 14. 我怎樣才能實現這個圖像效果iOS(看圖)
- 15. 如何在其他堆棧社區中實現相同的背景圖像效果?
- 16. 如何在android中實現這種摺疊效果?
- 17. 如何在android中實現無限片段堆棧?
- 18. 如何在android中實現水平圖像效果/過濾器視圖?
- 19. C++堆棧實現
- 20. C中的堆棧實現
- 21. 爲什麼堆棧被稱爲抽象數據類型。如果堆棧是adt,那麼如何實現堆棧?
- 22. THREE.js - 如何實現這種效果?
- 23. 這種彈性效果如何實現?
- 24. 如何實現這種模糊效果?
- 25. 如何實現這一效果:焦點
- 26. 如何實現這種材質效果?
- 27. 我該如何實現這種效果?
- 28. 如何實現這種jQuery效果?
- 29. 堆棧的頂部應該在堆棧的鏈表中實現?
- 30. 堆棧實現崩潰時,試圖打印堆棧的元素
你想只是像上面的堆棧效果,或者你想堆疊在其他人的圖像(線谷歌2.3畫廊)? –
可能是帶有ImageView和TextView的LinearLayout,圖像被設置爲LinearLayout的背景,在您看到的邊框上產生效果。對於左右分頁,他們可能使用ViewPager。 – Brandon
只是堆棧效果 – Ronel