其實WallpaperManager從很早之前就提供了getWallpaperColors接口
我們提供的服務有:成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、靖江ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的靖江網(wǎng)站制作公司
==Tip: LocalWallpaperColorConsumer是hide接口,非源碼編譯的Apk無法引用==
取出的數(shù)據(jù)都封裝在WallpaperColors中,可通過以下接口獲取到原始數(shù)據(jù)
框架中只是負責提取出原始顏色 ,但有些時候直接使用原始顏色,并不能達到最好的效果。
例如:PixelLauncher的插件實現(xiàn)顏色動態(tài)變化,除了從Wallpaper中拿到顏色,還進行了二次加工,使其更符合Material Desgin的風格,這也是符合“Monet”主題系統(tǒng) 中的一部分,目前是沒有開源的。所以一方或三方若想使用該特性,可以按需進行選擇和二次加工。
很可惜,Google并沒有為動態(tài)壁紙?zhí)峁┠J的取色邏輯。
壁紙的取色,最終會調(diào)用到WallpaperService的onComputeColors中,但該方法是空實現(xiàn),框架只是提供了最基本的獲取接口而已。
所以在Android 12之前,無論是靜態(tài)壁紙或是動態(tài) 壁紙,若想要其他模塊能獲取到壁紙顏色的話,需要壁紙?zhí)峁┓剑趯崿F(xiàn)WallpaperService的Engine時,也一并實現(xiàn)onCompleteColors方法,然后在顏色變化時調(diào)用notifyColorsChanged。
如圖:
壁紙其實是通過Palette接口進行顏色提取的,基本上都能取到至少一種顏色。當真的取出失敗或取出的顏色如果不符合期望,需要采用另外一套默認顏色,這是由各個各個業(yè)務去處理的,比如Launcher中的LauncherAppWidgetHostView,重寫了setColorResources方法
具體流程見下圖:
PixelLauncher是通過LocalWallpaperColorsExtractor的實現(xiàn)類進行顏色提取,該類繼承于LocalColorExtractor,該類存在于Launcher3中,是空實現(xiàn)。可以看出,Google專門將Monet算法部分折分隱藏,只公開框架部分。
而LocalWallpaperColorsExtractor是通過調(diào)用WallpaperManager.addOnColorsChangedListener接口,獲取onColorsChanged(RectF rectF, WallpaperColors wallpaperColors)中的返回信息,然后再對WallpaperColors中的顏色信息進行二次加工處理。
可以,Android 12已經(jīng)在secure表中預定義了theme_customization_overlay_packages字段,在其中配置了是否要根據(jù)主屏幕變色還是預置顏色,然后進行資源Overlay的。
我們可以直接使用或借鑒這套邏輯,預置幾套色值,并設(shè)置為使用基本顏色。
Android開源游戲引擎是Android游戲開發(fā)的基礎(chǔ),選擇一個好的Android游戲開發(fā)的引擎能讓更好的來開發(fā)游戲,下面就簡紹幾個Android開源游戲引擎。
1、Angle
Angle是一款專為Android平臺設(shè)計的,敏捷且適合快速開發(fā)的2D游戲引擎,基于OpenGL
ES技術(shù)開發(fā)。該引擎全部用Java代碼編寫,并且可以根據(jù)自己的需要替換里面的實現(xiàn),缺陷在于文檔不足,而且下載的代碼中僅僅包含有少量的示例教程。
2、Rokon
rokon是一款Android
2D游戲引擎,基于OpenGL
ES技術(shù)開發(fā),物理引擎為Box2D,因此能夠?qū)崿F(xiàn)一些較為復雜的物理效果,該項目最新版本為
2.0.3
(09/07/10)??傮w來說,此引擎最大的優(yōu)點在于其開發(fā)文檔相當之完備,并且項目作者對反饋Bug的修正非常之神速,所以該框架的使用在目前也最為
廣泛,有人干脆將它稱為Cocos2d-iPhone引擎的Android版(業(yè)務邏輯和編碼風格上也確實很像)。附帶一提,國內(nèi)某個需要注冊會員才能下
載的Android游戲框架衍生于此框架,所以大家也不要刻板的認為收費便一定是好的,免費就一定不好,最低運行環(huán)境要求為Android
1.5。
3、LGame
LGame是一款國人開發(fā)的Java游戲引擎,有Android及PC(J2SE)兩個開發(fā)版本,目前最高版本同為0.2.6(31/07/10)。其底
層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics
API(PC版采用Graphics2D封裝,Android版采用Canvas模擬實現(xiàn)),所以能夠?qū)2SE或J2ME開發(fā)經(jīng)驗直接套用其中,兩版本
間主要代碼能夠相互移植。Android版內(nèi)置有Admob接口,可以不必配置XML直接硬編碼Admob廣告信息。
該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內(nèi)置有Ioc、xml、http等常用Java組件的封裝,代價是jar體積較為龐大,PC版
已突破1.2MB,Android版有所簡化也在500KB左右。此外,該引擎還內(nèi)置有按照1:1實現(xiàn)的J2ME精靈類及相關(guān)組件,可以將絕大多數(shù)
J2ME游戲平移到Android或PC版中。唯一遺憾的是,該項目作者是個極其懶惰的家伙,開發(fā)文檔從去年說到今年依舊沒有提供,只有游戲示例可供下
載。
4、jPCT
jPCT是一款基于OpenGL技術(shù)開發(fā)的3D圖形引擎(PC環(huán)境為標準OpenGL,Android為OpenGL
ES),
以Java語言為基礎(chǔ)的,擁有功能強大的Java
3D解決方案。該引擎與LGame(此為2D游戲引擎)相類似,目前擁有PC(J2SE)以及Android兩個開發(fā)版本。
jPCT的最大優(yōu)勢之一,就在于它驚人的向下兼容性。在PC環(huán)境中,jPCT甚至可以運行在JVM1.1環(huán)境之中,因為jPCT內(nèi)部提供的圖形渲染接口完
全符合所有的Java
1.1規(guī)范(就連已經(jīng)消失的Microsoft
VM乃至更古老的Netscape
4
VM也不例外)。
5、Catcake
Catcake是一款跨平臺的Java
3D圖形引擎,目前支持PC(J2SE)及Android環(huán)境運行(已有iPhone版規(guī)劃)。該引擎在易用性和運行性能上皆有出色的表現(xiàn),支持常見的游戲開發(fā)功能,諸如精靈動畫,音頻處理和視頻播放等。
當然還有其他的Android開源游戲引擎,也許更好。
Google官方似乎沒有提供比較好的排版引擎實現(xiàn),Android目前也沒有好的開源項目,個人知道的就有一個devilWwj/TextJustify-Android · GitHub,如果要做一個新聞客戶端,排版引擎是核心之一,給有用戶良好的閱讀體驗非常重要,有兩種解決方案自己研發(fā)一套排版引擎,根據(jù)CMS的輸出來進行解析 使用WebView來實現(xiàn),類似微信內(nèi)置瀏覽器這種說到體驗上,自然是native的閱讀體驗是最好的,webView加載可能會有網(wǎng)絡延遲。關(guān)于排版引擎我自己整理了一些實際開發(fā)可能涉及到的需求點:##基礎(chǔ)需求 - 文本兩端對齊 - 自動換行 - 圖文混排 - 點擊圖片放大
- 查看圖集,可以左右切換- 播放視頻
- 點擊全屏播放視頻
##擴展需求 - 字號大小切換
- 黑夜/白天模式切換 - 文本復制 - 解析html
- 多欄布局 - 可以擴大縮小字距
- 可以擴大縮小行距如果各位有更多的功能點可以本問題發(fā)布回答。
作為能和蘋果iOS分庭抗禮的Android(各種意義上),當然也會有相當數(shù)量的游戲引擎存在。
常見的Android游戲引擎
Angle
Angle是一款專為Android平臺設(shè)計的,敏捷且適合快速開發(fā)的2D游戲引擎,基于OpenGL ES技術(shù)開發(fā)。
Rokon
rokon是一款Android 2D游戲引擎,基于OpenGL ES技術(shù)開發(fā),物理引擎為Box2D,因此能夠?qū)崿F(xiàn)一些較為復雜的物理效果,該項目最新版本為 2.0.3 。
LGame
LGame是一款國人開發(fā)的Java游戲引擎,有Android及PC(J2SE)兩個開發(fā)版本,目前最高版本同為0.2.6。
3D引擎:
? Unreal Development Kit (Unreal Engine 3)
? DX Studio
? Untity3D 3.0
? Airplay SDK 4.2
? ShiVa3D (Beta Version)
2D引擎:
? Corona Game Edition
? Cuttlefish Engine
? Rokon 2D Game Engine
? Google App Inventor
? AndEngine
? candroidengine
? Mages Engine
網(wǎng)頁端引擎:
? Aves Engine
? Flash 10.1/Air
? jMonkeyEngine
本文題目:android引擎,android js引擎
本文URL:http://jinyejixie.com/article36/dssoesg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、響應式網(wǎng)站、建站公司、ChatGPT、小程序開發(fā)、定制開發(fā)
聲明:本網(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)