⑴ android怎麼實現iBook的翻頁,頁面很長可以上下拖動
之前看到像ipad上的ibook的模擬書籍翻頁的特效感覺很炫,在android上也有像laputa和ireader等應用實現有這個特效,在網上搜索了一下好像也沒有現成的例子,所以自己動手實現了一個,現在將實現的過程記錄下來。
實現真實的翻頁效果,為了能在翻頁的過程中看到下一頁的內容,在翻頁之前必須准備兩張頁面,一張是當前頁,另一張是下一頁。翻頁的過程就是對這兩張頁面的剪切,組合過程。
用戶看到的可以分為3部分:當前頁的可見部分(下圖綠色部分),把書頁翻起來後看到的背面區域(下圖黃色部分),把書頁翻起來後看到的下一頁的一角(下圖綠色部分)。
假設我們已經求得了包含黃色區域和藍色區域的Path, 假設為mPath0,那麼綠色區域則可以使用Canvas.clipPath(mPath0, Region.Op.XOR)來剪裁繪制;而藍色區域則可以通過使用(假設黃色區域的Path為mPath1)
[java] view plain
Canvas.clipPath(mPath0);
Canvas.clipPath(mPath1, Region.Op.DIFFERENCE); //繪制第一次不同於第二次的區域
對clipPath不是很熟的童鞋可以去復習下 自帶apidemo的Clipping例子。
下面我們來研究如何求取mPath0:
上圖黃色和藍色區域的mPath0,可以通過以下獲取:
[java] view plain
mPath0.moveTo(jx, jy);
mPath0.quadTo(hx, hy, kx, ky);
mPath0.lineTo(ax, ay);
mPath0.lineTo(bx, by);
mPath0.quadTo(ex, ey, cx,cy);
mPath0.lineTo(fx, fy);
mPath0.close();
接著就是要求出繪制path0所需的各個頂點。
我們已知的條件是:a點坐標(觸摸點),f點坐標(顯示界面的大小),直線eh是af的垂直平分線。
剩下的就變成數學問題啦~~
先來求出g點坐標因為g為af中點:
顯然gx=(ax+fx)/2; gy=(ay+fy)/2;
e點坐標:
添加補助線gm,m點坐標為(gx, mHeight);
由相似垂直三角形egm和gmf可知:
em=gm*gm/mf;
這樣e點坐標為:(gx-em, mHeight)
同理可以求出h點坐標。
C點坐標:
為簡化計算,我們令n點為ag中點,這樣有三角形cjf和ehf得:
cx=ex- ef/2 ;
c點坐標為:(ex- ef/2, mHeight)
同理求得j點坐標。
以下推導需要較多的數學知識,不記得的童鞋,自覺復習去~~
一條直線的函數為:
Y=ax+b;
通過已知兩點求直線: a = (y2-y1)/(x2-x1);
b = (x2*y1-y2*x1)/(x2-x1);
兩條相交直線交點的坐標為:x= (b2-b1)/(a1-a2);
y=a1x+b1或者y=a2x+b2
綜上,4點相交的直線的交點為:
x=( (x4*y3-y4*x3)/(x4-x3)-(x2*y1-y2*x1)/(x2-x1)) /
((y2-y1)/(x2-x1)- (y4-y3)/(x4-x3) )
= ( (x4*y3-y4*x3) (x2-x1)- (x2*y1-y2*x1) (x4-x3) ) /
( (y2-y1) (x4-x3)- (y4-y3) (x2-x1) )
將之前求得的 a,e,c,j四個點帶入上式則可以求出 b. 同理可求k點。
d點坐標:
d為pe的中點,所以:
dx=((cx+bx)/2+ex)/2
dy=((cy+by)/2+ey)/2
同理 可求 i 點。
通過上述求解,繪制翻頁效果的各個頂點均已得出,剩下的就是貼圖,繪制陰影。這部分將在於後的文章中介紹,嘻嘻,喜歡研究的童鞋可以自己試試。
轉載,僅供參考。
⑵ 知乎Android版怎麼翻頁
知乎Android版翻頁
翻頁,查看分頁文件的上一個頁面、下一個頁面或任意存在的非當前頁面。可以將實體書或者移動Web窗體中的內容進行改變,以觀看不同內容。在互聯網上運用時該機制還呈現可用於瀏覽到其他頁的用戶界面元素。
作用
翻頁:跳轉到上一個頁面、下一個頁面或任意存在的非當前頁面。
⑶ android 如何實現點擊按鈕後翻頁到指定的
這其實就是一個簡單的頁面跳轉吧,只要有了我的好友,我的群組,我的討論組界面就能跳過去啊
⑷ android版V8.5 uc瀏覽器怎樣設置自動翻頁 請高手用圖片告知菜鳥
新年好,很高興為您服務!建議您點擊右上角的「V」圖標,勾選閱讀模式試試哦。感謝您的支持,祝您生活愉快!
⑸ android 怎麼識別手指滑動翻頁的功能
可以對手勢進行向左或者向右滑動的監聽,其實是對從左到右的距離進行判斷,判斷是從左到右,就是向右翻,執行翻書的動畫效果即可。
⑹ android scroller 怎麼上下翻頁
Android上有一個控制項叫做ViewPager,該控制項可以根據item的多少實現左右滑動的效果。
Android上還有一個東西叫做Fragment,這是一個依賴於Activity而又獨立的頁面。
綜合這兩個控制項的特性,可以使用ViewPager+Fragment的方式,即在ViewPager里嵌入Fragment的方式,實現頁面左右滑動的效果。
⑺ 那個Android的pdf閱讀器可以實現用「點擊」來「翻頁」(一次翻一頁,而不是拖動)
簡單的回答就是:暫時不可能,而且很少有人設計那樣的東西,因為,pdf是圖片形式,所以,在無法保證看清楚字的情況下,拖拽操作很重要
⑻ android怎麼做類似網頁的左右翻頁
如果實現上下或者左右翻頁效果,我們藉助下這個開源項目:https://github.com/openaphid/android-flip
Aphid FlipView是一個能夠實現Flipboard翻頁效果的UI組件。
下載完畢後導入到當前你的項目中,我們來下上下翻頁的效果圖:
直接貼出代碼:
布局文件:
詳細
⑼ android怎樣可以實現點擊一個按鈕 觸發scrollView的翻頁事件
其實scrollview出發翻頁後,具體怎麼翻頁和翻到那一頁是你自己的實現,把這部分實現抽出來,然後在點擊按鈕的時候去調用。
望採納。
⑽ 安卓的淘寶怎麼設置左右滑動翻頁有這個功能嗎
安卓智能手機上下滑屏調成左右滑屏的方法:
1、啟動手機,進入手機的桌面;
2、按一下手機左下角的【菜單鍵】,彈出【桌面設置的選項】,找到【桌面設置】,點擊進入【桌面設置】的界面;
3、在【桌面設置】界面下,點擊【屏幕切換效果】;
5、進入【屏幕切換效果】的菜單後,選擇【經典】或者【經典(無回彈)】就可以實現左右滑屏了。