// get ClassjmethodID constructor = (*env)->GetMethodID(env, cls, "", "()V");jobject testObject = (*env)->NewObject(env, testClass, constructor);methodID callFromCpp = (*env)->GetMethodID(env, testClass, "callFromCpp", "()V");
//get methodid(*env)->CallVoidMethod(env, testObject, callFromCpp);

那自己畫 UI 是否會(huì)更方便點(diǎn)?比如 JUCE 和 QT 就是自己畫的,我們來看看 QT 的效果:

看起來很不錯(cuò)是吧?不過在 Android 5 下就悲劇了,很多效果都沒出來,比如按鈕沒有漣漪效果,甚至邊框都沒了,根本原因在于它是通過 Qt Quick Controls 的自定義樣式來模擬的,而不是使用系統(tǒng) UI 組件,因此它享受不到系統(tǒng)升級(jí)自動(dòng)帶來的界面優(yōu)化,只能自己再實(shí)現(xiàn)一遍,工作量不小。

反而如果最開始用的是 Android 原生組件就什么都不需要做,而且還能用新的 AppCompat 庫來在 Android 5 以下實(shí)現(xiàn) Material Design 效果。

最后一種做法是使用 OpenGL 來繪制界面,因?yàn)?EGL OpenGL 本身就是跨平臺(tái),所以基于它來實(shí)現(xiàn)會(huì)很方便,目前大多數(shù)跨平臺(tái)游戲底層都是這么做的。

既然可以基于 OpenGL 來開發(fā)跨平臺(tái)游戲,是否能用它來實(shí)現(xiàn)界面?當(dāng)然是可行的,而且 Android 4 的界面就是基于 OpenGL 的,不過它并不是只用 OpenGL 的 API,那樣是不現(xiàn)實(shí)的,因?yàn)?OpenGL API 最初設(shè)計(jì)并不是為了畫 2D 圖形的,所以連畫個(gè)圓形都沒有直接的方法,因此 Android 4 中是通過 Skia 將路徑轉(zhuǎn)換為位置數(shù)組或紋理,然后再交給 OpenGL 渲染的。

然而要完全實(shí)現(xiàn)一遍 Android 的 UI 架構(gòu)工作量不小,以下是其中部分相關(guān)代碼的代碼量:

其中光是文字渲染就非常復(fù)雜,如果你覺得簡(jiǎn)單,那只能說明你沒看過這個(gè)世界有多大,或許你知道中文有編碼問題、英語有連字符(hyphen)折行,但你是否知道繁體中文有豎排版、阿拉伯文是從右到左的、日語有平假名注音(ルビ)、印度語有元音附標(biāo)文字(abugida ????)……?

而相比之下如果每個(gè)平臺(tái)單獨(dú)開發(fā)界面,看似工作量不小,但目前在各個(gè)平臺(tái)下都會(huì)有良好的官方支持,相關(guān)工具和文檔都很完善,所以其實(shí)成本沒那么高,而且可以給用戶和系統(tǒng)風(fēng)格保持一致的良好體驗(yàn),所以我認(rèn)為對(duì)于大多數(shù)應(yīng)用來說自己畫 UI 是很不劃算的。

不過也有特例,對(duì)于 UI 比較獨(dú)特的應(yīng)用來說,自己畫也是有好處的,除了更靈活的控制,它還能使得不同平臺(tái)下風(fēng)格統(tǒng)一,這在桌面應(yīng)用中很常見,比如 Windows 下你會(huì)發(fā)現(xiàn)幾乎每個(gè)必備軟件的 UI 都不太一樣,而且好多都有換膚功能,在這種情況下很適合自己畫 UI。

 更多關(guān)于云服務(wù)器域名注冊(cè),虛擬主機(jī)的問題,請(qǐng)?jiān)L問三五互聯(lián)官網(wǎng):m.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫 » 聊聊移動(dòng)端跨平臺(tái)開發(fā)的各種技術(shù)

登錄

找回密碼

注冊(cè)

主站蜘蛛池模板: 欧美最新精品videossexohd| 国产精品久久久久久无毒不卡| 亚洲国产美国产综合一区| 成人天堂资源www在线| 久久欧洲精品成av人片| 国产综合久久99久久| 无码人妻斩一区二区三区 | 日韩有码av中文字幕| 亚洲区欧美区综合区自拍区| 欧美精品在线观看视频| 久久综合国产色美利坚| 视频一区二区三区四区五区| 久青草视频在线观看免费| 日韩中文字幕国产精品| 国产明星精品无码AV换脸| 国产一区二区三区十八禁| 亚洲伊人久久精品影院| 不卡国产一区二区三区| 国内少妇人妻偷人精品| 嫩草欧美曰韩国产大片| 久久国产精品老人性| 国产高清在线精品一区不卡| 欧美videosdesexo吹潮| 久热这里只有精品12| 又粗又硬又黄a级毛片| 国产一区二区三区不卡视频| 日本a在线播放| 最近2019免费中文字幕8| 红桥区| 国产高清在线不卡一区| 婷婷99视频精品全部在线观看| 97人人添人人澡人人澡人人澡| 亚洲精品美女一区二区| 精品国产成人网站一区在线| 日韩成av在线免费观看| 亚洲va中文字幕无码久久| 互助| 国产精品无码a∨麻豆| 四虎在线永久免费看精品| 亚洲国产欧美在线人成| 激情综合网激情综合网激情|