android界面特效
Ⅰ android界面切換增加了animation特效,但是沒有實現動畫效果(已經執行到setAni
界面的切換你用這句試試
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
加在onCreate里
Ⅱ Android自定義View——從零開始實現書籍翻頁效果(一)
前言 :本篇是系列博客的第三篇,這次我們要研究 書籍翻頁效果 。不知道大家平時有沒用過iReader、掌閱這些小說軟體,裡面的翻頁效果感覺十分的酷炫。有心想研究研究如何實現,於是網上找了找,發現這方面的教學資料非常少,所幸能找到 何明桂大大 的 Android 實現書籍翻頁效果----原理篇 這樣的入門博客(感謝大大 Orz),我們就以這篇博客為切入點從零實現我們自己的翻頁效果。由於這次坑比較深,預計會寫好幾期,感興趣的小夥伴可以點下關注以便及時收到更新提醒,謝謝大家的支持 ~
本篇只著重於思路和實現步驟,裡面用到的一些知識原理不會非常細地拿來講,如果有不清楚的api或方法可以在網上搜下相應的資料,肯定有大神講得非常清楚的,我這就不獻丑了。本著認真負責的精神我會把相關知識的博文鏈接也貼出來(其實就是懶不想寫那麼多哈哈),大家可以自行傳送。為了照顧第一次閱讀系列博客的小夥伴,本篇會出現一些在之前 系列博客 就講過的內容,看過的童鞋自行跳過該段即可
國際慣例,先上效果圖,本次主要實現了 基本的上下翻頁效果 與 右側最大翻頁距離的限制
在看這篇博客之前,希望大家能先了解一下書籍翻頁的實現原理,博客鏈接我已經貼出來了。通過原理講解我們知道,整個書籍翻頁效果界面分成了三個區域, A 為當前頁區域, B 為下一頁區域, C 為當前頁背面,如圖所示
書籍翻頁效果的實現就是要以我們 觸摸屏幕位置的坐標 為基礎繪制出這三個區域,形成模擬翻頁的特效。要繪制這三個區域,我們需要通過一組 特定的點 來完成,這些點的坐標需要通過兩個已知的點( 觸摸點 、 相對邊緣角 )計算得到,下圖我將各個特定點的位置和計算公式貼出來,大家對照著原理一起理解(渣畫工望體諒 ╮(╯▽╰)╭ ),其中 b 點是由 ae 和 cj 的交點, k 點是由 ah 和 cj 的交點
簡單總結一下, a 是觸摸點, f 是觸摸點相對的邊緣角, eh 我們設置為 af 的垂直平分線,則 g 是 af 的中點, ab 、 ak 、 dj 是 直線 ; 曲線cdb 是起點為 c ,控制點為 e ,終點為 b 的 二階貝塞爾曲線 ; 曲線kij 是起點為 k ,控制點為 h ,終點為 j 的 二階貝塞爾曲線 ,區域 A 、 B 、 C 就由這些點和線劃分開來。我們將這些點稱為標識點,下一步就是模擬設定 a 和 f 點的位置,將這組標識點繪制到屏幕上來驗證我們的計算公式是否正確,創建 BookPageView
實體類 MyPoint 用來存放我們的標識點坐標
界面布局:
在Activity中進行注冊
效果如圖
前文我們提到 ab 、 ak 、 dj 是 直線 ; 曲線cdb 是起點為 c ,控制點為 e ,終點為 b 的 二階貝塞爾曲線 ; 曲線kij 是起點為 k ,控制點為 h ,終點為 j 的 二階貝塞爾曲線 。通過觀察分析得知, 區域A 是由View 左上角 , 左下角 , 曲線cdb , 直線 ab 、 ak , 曲線kij , 右上角 連接而成的區域,修改 BookPageView ,利用 path 繪制處 區域A
效果如圖
區域C 理論上應該是由點 a , b , d , i , k 連接而成的閉合區域,但由於 d 和 i 是曲線上的點,我們沒辦法直接從 d 出發通過 path 繪制路徑連接 b 點( i , k 同理),也就不能只用 path 的情況下直接繪制出 區域C ,我們需要用 PorterDuffXfermode 方面的知識「曲線救國」。我們試著先將點 a , b , d , i , k 連接起來,觀察閉合區域與 區域A 之間的聯系。修改 BookPageView
效果如圖
我們將兩條曲線也畫出來對比觀察
觀察分析後可以得出結論, 區域C 是 由直線ab,bd,dj,ik,ak連接而成的區域 減去 與區域A交集部分 後剩餘的區域。於是我們設置 區域C 畫筆 Xfermode 模式為 DST_ATOP
效果如圖
最後是 區域B ,因為 區域B 處於最底層,我們直接將 區域B 畫筆 Xfermode 模式設為 DST_ATOP ,在 區域A、C 之後繪制即可,修改 BookPageView
效果如圖
翻頁可以從右下方翻自然也可以從右上方翻,我們將 f 點設在右上角,由於View上下兩部分是呈 鏡像 的,所以各標識點的位置也應該是鏡像對應的,因為 區域B和C 的繪制與 f 點沒有關系,所以我們只需要修改 區域A 的繪制邏輯,新增 getPathAFromTopRight() 方法
效果如圖
之前由於測試效果沒有對View的大小進行重新測量,在實現觸摸翻頁之前先把這個結了。重寫View的 onMeasure() 方法
我們的需求是,在上半部分翻頁時 f 點在右上角,在下半部分翻頁時 f 則在右下角,當手指離開屏幕時回到 初始狀態 ,根據需求,修改 BookPageView
在Activity中監聽View的 onTouch 狀態
注意,要設置 android:clickable 為 true ,否則無法監聽到 ACTION_MOVE 和 ACTION_UP 狀態
效果如圖
到這里我們已經實現了基本的翻頁效果,但要還原真實的書籍翻頁效果,我們還需要設置一些限制條件來完善我們的項目
對於一般的書本來說,最左側應該是釘起來的,也就是說如果我們從右側翻頁,翻動的距離是 有限制的 ,最下方翻頁形成的曲線起點( c 點)的x坐標不能小於0(上方同理),按照這個限定條件,修改我們的 BookPageView
效果如圖
至此本篇教程就告一段落了,當然還有許多功能需要繼續完善,例如橫向翻頁、翻頁動畫、陰影效果等等,這些都會在後面的教程中一一解決。如果大家看了感覺還不錯麻煩點個贊,你們的支持是我最大的動力~
Ⅲ 如何修改Android手機特效
工具/原料
一部安卓系統手機
好壓或WinRAR軟體
特效文件壓縮包
主題美化資源圖標
步驟/方法
將手機中的framework-res.apk文件復制到電腦上,用好壓等解壓。
文件結構如下:
assets文件夾是存放不進行編譯加工的原生文件,即該文件夾裡面的文件不會像xml,java文件被預編譯,可以存放一些圖片,html,js,css等文件。
META-INF存放簽名文件
Res存放特效文件、各種圖標資源、界面框架等。
Resources.arsc是各種語言文件包
打開res文件夾後,我們就可以看到我們要修改的文件了。
1.anim就是特效文件夾,可以將別的手機里的Framework-res.apk的anim文件夾直接復制替換你手機里的anim文件夾,從而達到換特效的目的。
2.drawable-hdpi就是手機大部分圖標界面圖的位置所在。
3.drawable-land-hdpi裡面主要是是橫屏下的解鎖條圖片之類。
4.color裡面是界面文字等配色文件。
我們要修改的就是前三個文件夾。
替換特效
由於我不懂懂得如何自己修改裡面的文件,目前只是把不同機子的特效提取出來,並全部粘貼,以達到修改特效的目的。
下面是我找到的集中特效,大家可以將文件夾中的全部復制到anim中,出現提示確認框後,點擊」全部是」即可。具體步驟如下:
1.
2.
3.
下載地址:
http://u.115.com/file/dnhcdg36#上中特效.rar
http://u.115.com/file/clqnu741#飛來飛去特效.rar
http://u.115.com/file/aq73ianj#上中下特效.rar
http://u.115.com/file/dnhcd0ap#左右特效.rar
對於圖標的修改替換
圖標存放在drawable-hdpi中,對於PS等工具使用較好的朋友,就可以自己製作圖標了,或者我們可以在網上搜索一些漂亮的圖標替換掉,記著文件名要和文件夾中的保持一致,不然系統如法識別,而且對圖片的大小等也有限制。
替換完成後就是關閉好壓就可以了。
替換手機系統中的framework-res.apk
這一步很關鍵,如果操作不當就可能導致無法進入系統等災難性問題。
1.將framework-res.apk文件傳到手機上。
2.用RE管理器打卡SD,找到framework-res.apk,長按後選擇」復制」。
3.進入手機內存,將手機內存掛在為」讀寫」,如圖:點擊」載為讀寫」4.找到system文件夾,並打開。繼續第三部操作,將內存載入為」讀寫」。
5.點擊下方的」粘貼」按鈕。6.在framework-res上長按後,點擊並打開」許可權」,設置為下圖,並按確定。7.長按此文件,選擇」復制」,打開framework文件夾後,點擊」粘貼」。
8.重啟手機,生效。
Ⅳ 一個android界面特效問題
gallery的3D效果
你搜索gallery 3d就明白了。
Ⅳ 手機app的交互特效怎麼弄安卓
1、打開安卓手機相機。
2、選擇左下角特效搜索交互,找到交互特效下載即可使用。以上就是手機app的交互特效使用步驟。
Ⅵ 安卓手機怎麼修改界面切換特效
安卓手機界面切換特效是左右滑動切換桌面的效果。安卓手機修改界面切換特效的步驟:
1、回到手機主界面,長按主界面無圖標處2到3秒;
2、進入「個性化設置」,點擊進入『』屏幕切換動畫『』;
3、選擇想要的切換特效即可。
Ⅶ 如何開發android app 動效
1、APP動效的外在美
一段動效首先需要是生動且有趣的,不僅要有好看的外觀還要有流暢的體驗。要做到這點,需要賦予動效以生命力,具體有如下幾種方法:
1.1模擬慣性
現實中物體的運動是有慣性的,比如公交車突然剎車時乘客會突然往前一倒。
1.2模擬重力
與慣性一樣,重力也是現實中存在的現象,所有物體在無向上的支持力的情況下都會下墜,比如傾倒垃圾。一般APP刪除卡片的動效就是橫向滑動直至消失, 但是下面這段動效卻加入了重力效應。即卡片在橫向滑動的同時也在翻轉並下墜,就像現實中往垃圾桶中傾倒垃圾一樣。在使得整個動效生動有趣的同時也便於用戶理解操作含義。
1.3均勻變速
一個優秀的動效肯定不會是勻速運動的,勻速運動的物體顯得生硬和死板,就像機器人一樣。要想讓一個圖像運動的有活力,就需要對其運動的速度進行「設計」。
1.4碎片化運動
使一款應用變得個性十足的一個好方法就是給它加上炫酷的動效,而使一個動效炫酷的常用方法就是碎片化運動。簡單說就是把界面中的圖像拆解成一個個碎 片,然後讓它們進行不同步的運動,利用時間間隔和變速產生炫酷的效果。
2、APP動效的內在美
真正優秀的動效不是只有漂亮外表的花瓶,還得具備優化交互和提升體驗的作用。
2.1引導
圖形界面本是難懂且抽象的,增強引導是降低軟體操作難度和提升用戶體驗的好方法。
2.1.1動態聚焦
通過動態化的處理引導用戶聚焦界面的關鍵部位,以使體驗更加的流暢。青蛙能夠快速捕捉移動中的物體,人眼也具有相似特徵,運動中的物體總能引起下意識 的關注。
2.1.2示意過渡
過渡動效就是給界面的變化加上流暢的過渡,目的是引導用戶理解到底發生了什麼,而不會使其不知所措。
2.1.3空間轉場
轉場動效是被設計師所普遍重視的一種特效,它的作用也是引導用戶,讓用戶更好地理解頁面跳轉,知道自己身在何方。
2.2簡化
有時優秀的設計就是出色的簡化。簡化界面信息和交互層級可以降低操作難度和提升用戶體驗。
2.2.1隱藏二級操作項
利用動效可以使界面中的部分信息隱藏,當進行某些操作後隱藏的內容會動態展開,從而達到簡化初始界面的目的,使界面簡潔大氣。
2.2.2 按鈕動效化
使按鈕動效化能夠讓界面重要信息動態浮現在同一按鈕上,使得用戶的目光緊緊盯著按鈕,弱化了頁面跳轉帶來的干擾,使體驗更加流暢。
2.3增強反饋
軟體的反饋對於體驗的提高來講至關重要,增強反饋可以起到更好的提示作用,使體驗過程更加輕松和愉悅。抖動是增強反饋的方法之一,用動效反饋替代圖形 文字的靜態提示,更加自然和引人注目。
Ⅷ android卡片上下切換特效
實現了在android實現左右滑動切換界面的效果
這是實現了在android實現左右滑動切換界面的效果,該效果的源碼下載,請到源碼天堂下載吧,喜歡的朋友可以研究一下。
布局文件
< xml version="1.0" encoding="utf-8" > <LinearLayout xmlns:android="; android:id="@+id/layContain" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:background="@drawable/bg" > <!-- android:background="#FFC0CB"--> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <LinearLayout android:id="@+id/layFirst" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" android:layout_marginBottom="50dp" > </LinearLayout> <LinearLayout android:id="@+id/laySec" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layThird" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layFourth" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="40dp" > <TextView android:id="@+id/roll_dot1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#ffffff" /> <TextView android:id="@+id/roll_dot2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/roll_dot3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/
Ⅸ android中如何實現翻頁特效,3D的那種,不要2D的
更換framework-res.apk 文件 然後改許可權 或者直接刷成2.3再或者安裝個桌面就行了 例如go桌面
Ⅹ Android 中 怎麼設置,啟動界面時, 讓這個界面從下往上那樣的形式出現 類似與 ppt里頭的特效。 謝謝了
startActivity(new Intent(demoMain.this, demoDetail.class));
overridePendingTransition(R.anim.slide_bottom_to_top,
R.anim.my_alpha_action);
res/anim/slide_bottom_to_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromYDelta="100%" android:toXDelta="0" android:ration="1000" />
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:ration="50" />
</set>
res/anim/R.anim.my_alpha_action.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"
android:ration="@android:integer/config_mediumAnimTime"
/>
</set>