Andorid 翻書效果,andorid翻書效果

來源:互聯網
上載者:User

Andorid 翻書效果,andorid翻書效果
本文內容

  • 項目結構
  • 環境
  • 示範
  • 參考資料
 

翻書效果,主要採用繪製貝茲路徑的方法。本文有三個示範:

  • 簡單翻書效果。翻下一頁後,當前頁不會消失。
  • 翻書時的貝茲路徑。示範翻書時,貝茲路徑的路徑和要素。
  • 完整翻書效果。
下載 Demo (運行原始碼,請先將壓縮包內 test.txt 檔案複製到 SD 記憶卡根目錄) 項目結構

圖 1 項目結構                                                                   圖 2 程式主介面

 

環境
  • Windows 2008 R2 64 位元
  • Eclipse ADT V22.6.2,Android 4.4.2(API 19)
  • SAMSUNG GT-8618,3.5英寸屏(7.5x5 cm,蘋果一樣),Android OS 4.1.2

  示範

實現翻書效果,就是對當前頁和下一頁的剪下、組合過程。 3 所示,可以看到3個部分:當前頁的可見部分(綠色部分);當前頁的不可見部分(黃色部分),即當前也的背面;下一頁(藍色部分)。

如果你不瞭解貝賽爾曲線,先查點資料單獨體會一下貝茲路徑,也不用太仔細。本例是從觸控螢幕幕的那個點開始,確定繪製貝茲路徑的各個要素,基本都是數學問題。最後,加上效果。

圖 3 程式中各個點的標識

需要注意的地方:

1,翻書時,頁背面有兩部分處理,一是將原圖翻轉,利用Matrix mMatrix和float[] mMatrixArray 實現,而是,原圖翻轉後的光影效果,需要使用 ColorMatrixFilter。

2,書邊緣的陰影部分。

圖 4 簡單翻書效果(左:當前書頁;中:翻下一頁;右:翻上一頁)

圖 5 翻書時的貝茲路徑(左:當前書頁;中:翻下一頁;右:翻上一頁)

在圖 5 你可以看到,貝茲路徑的各個地區和要素。

圖 6 翻書完整效果(第一個:當前書頁;第二個:翻下一頁;第三個:翻下一頁時消失,出現書第二頁;第四個:翻上一頁)

 

 貝茲路徑 

數值分析領域中,貝茲路徑(Bézier curve)是電腦圖形學中相當重要的參數曲線。更高維度廣泛化貝茲路徑就稱作貝塞爾曲面,其中貝塞爾三角是一種特殊的執行個體。

貝茲路徑於1962年,由法國工程師皮埃爾·貝塞爾(Pierre Bézier)所廣泛發表,他運用貝茲路徑來為汽車的主體進行設計。貝茲路徑最初由Paul de Casteljau於1959年運用de Casteljau演算法開發,以穩定數值的方法求出貝茲路徑。

  • 線性貝茲路徑

其路徑由給定點 P0、P1,線性貝茲路徑只是兩點之間的一條直線。其貝茲路徑 B(t):

線性貝茲路徑示範動畫,t 在 [0,1] 區間

因此,線性貝茲路徑等同於線性插值。

  • 二次方貝茲路徑

其路徑由給定點 P0、P1、P2,其貝茲路徑 B(t):

二次方貝茲曲線示範動畫,t 在 [0,1] 區間

TrueType 字型就運用了以貝塞爾樣條組成的二次方貝茲曲線。

  • 三次方貝茲曲線

P0、P1、P2、P3 四個點在平面或在三維空間中定義了三次方貝茲曲線。曲線起始於 P0 走向 P1,並從 P2 的方向來到 P3。一般不會經過 P1 或 P2;這兩個點只是在那裡提供方向資訊。P0 和 P1 之間的間距,決定了曲線在轉而趨進 P3 之前,走向 P2 方向的“長度有多長”。其貝茲路徑 B(t):

三次貝茲路徑示範動畫,t 在 [0,1] 區間

現代的成像系統,如 PostScript、Asymptote和Metafont,運用了以貝塞爾樣條組成的三次貝茲路徑,用來描繪曲線輪廓。

四次、五次貝茲路徑示範動畫,t 在 [0,1] 區間

  • 一般化

n 階貝茲路徑可做如下推斷。給定點 P0、P1、…、Pn,其貝茲路徑 B(t):

假設 n=5,則

上面公式可用遞迴表達。

用 表示由點 P0、P1、…、Pn 所決定的貝茲路徑。則,

換句話說,n 階的貝茲路徑,即雙n-1 階貝茲路徑之間的插值。

  參考資料

  • Wiki 貝茲路徑
  • 另一個博文如何計算各個要素的方法

 

下載 Demo


Android 頁面切換特效,類似於翻頁或者翻書的轉場效果給源碼或者demo感激不盡

我給你個我那社區【開源中國】裡有個demo,它整合了很多的特效,裡面有你要的很多效果,希望能幫到你
www.oschina.net/code/snippet_559701_11192
 
android中,翻書效果切換view(就是與手機小說閱讀軟體一樣,但是翻頁的是view)

JazzyViewPager 支援Fragment切換動畫的ViewPager,動畫包括轉盤、淡入淡出、翻頁、層疊、旋轉、方塊、翻轉、放大縮小等
項目地址:github.com/jfeinstein10/JazzyViewPager
Demo地址:github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
效果類似案頭左右切換的各種效果,不過案頭並非用ViewPager實現而已。
這個是開源的,你可以下下來看看。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.