性能不好的手機(jī)上,當(dāng)在橫豎屏畫面之間進(jìn)行切換時會覺得屏幕有些卡。如果在“設(shè)置”- “開發(fā)人員選項”中關(guān)掉窗口過渡動畫,就不會有卡的問題,但這樣一來,所有窗口畫面的動畫切換效果都沒有了。如果只想在橫豎屏切換時關(guān)掉切換動畫,應(yīng)該如何實現(xiàn)呢?

霍爾果斯網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。成都創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
可以修改WindowManagerService.java中的boolean值:static final boolean CUSTOM_SCREEN_ROTATION = true; 把默認(rèn)的true修改成false,然后重新mm frameworks/base/services/java,并把新生成的services.jar檔案push到手機(jī),reboot手機(jī)。
這個首選需要你的手機(jī)是四核及以上,這是硬件要求,再者就是你每次打開視頻或者游戲界面看看是否有沒有在手機(jī)右側(cè)有個小窗口等類似字眼,點擊下,即可。
如果是應(yīng)用全局的動畫,則在style文件里面定義
style name="Animation_Activity" parent="@android:style/Animation.Activity"
item name="android:activityOpenEnterAnimation"@anim/right_in/item
item name="android:activityOpenExitAnimation"@anim/left_out/item
item name="android:activityCloseEnterAnimation"@anim/left_in/item
item name="android:activityCloseExitAnimation"@anim/right_out/item
/style
right_in這些為動畫文件
然后在你程序的theme里面定義如下
style name="AppTheme" parent="AppBaseTheme"
item name="android:windowNoTitle"true/item
item name="android:windowAnimationStyle"@style/Animation_Activity/item
/style
如果只是想用一次,則是在activity跳轉(zhuǎn)時添加如下代碼
overridePendingTransition(R.anim.zoom_in, R.anim.zoom);
//R.anim.zoom_in, R.anim.zoom為動畫文件
布局
動畫
message_in_anim
message_out_anim
點擊事件
實現(xiàn)動畫的監(jiān)聽事件時,在onAnimationEnd方法里面先判斷一下,如果顯示的是第一張圖片就切換成第二張圖片,如果顯示的是第二張圖片,就切換成第三張圖片,之后再用view.startAnimation();
屬性動畫對比原來的視圖動畫有很多的優(yōu)點,屬性動畫可以對所有的對象做動畫操作,但Android開發(fā)中需要做動畫最多的還是View,如果只是對一個view做動畫,很少的幾個屬性還行,如果是對同一個view的十幾個屬性同時做動畫,相信屬性動畫的寫法是比較繁瑣的。ViewPropertyAnimator從名字就可以看出是專用于View的屬性動畫,在API12被提供。ViewPropertyAnimator專用于操作View動畫,語法更加簡潔,使用更加方便。
developer:
如何獲取ViewPropertyAnimator 對象:
ViewPropertyAnimator 沒有構(gòu)造函數(shù),通過View.animate()方法可以方便的獲取ViewPropertyAnimator 對象,此時獲取的動畫對象就專用于操作當(dāng)前view。
setDuration(); //設(shè)置動畫時長
setInterpolator(); //設(shè)置插值器
setStartDelay(); //設(shè)置延遲開始時間
start(); //立刻開始動畫
cancel(); //取消動畫
明顯看到圖片先往下走了一段,然后向左的動畫才開始執(zhí)行。
鏈?zhǔn)讲僮?/p>
ViewPropertyAnimator viewPropertyAnimator = gongxiang.animate().setDuration(2000).translationY(300).scaleX(0.5f);
以上函數(shù)的執(zhí)行,會導(dǎo)致相同動畫的cancle,以上函數(shù)都是除了坐標(biāo)相關(guān)都是以view左上角為坐標(biāo)原點。
方法都比較簡單,下面距幾個列子:
首先利用translationX,translationXBy來區(qū)分By的意義:
ViewPropertyAnimator viewPropertyAnimator = gongxiang.animate().setDuration(3000).translationY(300);
ViewPropertyAnimator viewPropertyAnimator = gongxiang.animate().setDuration(3000).translationYBy(300);
translationYBy 可以多次移動View,translationY多次執(zhí)行沒有效果。
ViewPropertyAnimator viewPropertyAnimator = gongxiang.animate().setDuration(3000).x(100).y(100);
ViewPropertyAnimator viewPropertyAnimator = gongxiang.animate().setDuration(2000).rotation(270);
據(jù)觀察withEndAction相當(dāng)于動畫開始,withStartAction相當(dāng)于動畫結(jié)束。
可以看到可以添加setUpdateListener監(jiān)聽,但無法通過這個監(jiān)聽函數(shù)監(jiān)聽到當(dāng)前動畫的信息,所以這個監(jiān)聽函數(shù)可能用處不大。
Animation動畫概述和執(zhí)行原理
Android動畫之補(bǔ)間動畫TweenAnimation
Android動畫之逐幀動畫FrameAnimation
Android動畫之插值器簡介和系統(tǒng)默認(rèn)插值器
Android動畫之插值器Interpolator自定義
Android動畫之視圖動畫的缺點和屬性動畫的引入
Android動畫之ValueAnimator用法和自定義估值器
Android動畫之ObjectAnimator實現(xiàn)補(bǔ)間動畫和ObjectAnimator自定義屬性
Android動畫之ObjectAnimator中ofXX函數(shù)全解析-自定義Property,TypeConverter,TypeEvaluator
Android動畫之AnimatorSet聯(lián)合動畫用法
Android動畫之LayoutTransition布局動畫
Android動畫之共享元素動畫
Android動畫之ViewPropertyAnimator(專用于view的屬性動畫)
Android動畫之Activity切換動畫overridePendingTransition實現(xiàn)和Theme Xml方式實現(xiàn)
Android動畫之ActivityOptionsCompat概述
Android動畫之場景變換Transition動畫的使用
Android動畫之Transition和TransitionManager使用
Android動畫之圓形揭露動畫Circular Reveal
Android 動畫之 LayoutAnimation 動畫
Android動畫之視圖動畫的缺點和屬性動畫的引入
分享題目:android切換動畫,手機(jī)切換動畫
網(wǎng)站鏈接:http://chinadenli.net/article41/dsipoed.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、小程序開發(fā)、電子商務(wù)、網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)