// 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 庫(kù)來在 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):www.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í)庫(kù) » 聊聊移動(dòng)端跨平臺(tái)開發(fā)的各種技術(shù)

登錄

找回密碼

注冊(cè)

主站蜘蛛池模板: 大肉大捧一进一出好爽视频mba| 亚洲中文字幕无码一区无广告| 成人午夜激情在线观看| 一区二区三区四区激情视频| 秋霞无码久久久精品| 土默特左旗| 天堂网亚洲综合在线| 国产拍拍拍无码视频免费 | 成人亚洲a片v一区二区三区动漫 | 国产亚洲999精品AA片在线爽| 爱性久久久久久久久| 精品国产成人国产在线视| 亚欧洲乱码视频一二三区| 亚洲日本VA中文字幕在线| 在线播放无码后入内射少妇 | 亚洲欧美中文日韩v在线97| 乳源| 在线a人片免费观看| 亚洲午夜理论无码电影| 日韩毛片在线视频x| 国产精品日韩av在线播放| 男女爽爽无遮挡午夜视频| 深夜av免费在线观看| 国产私拍大尺度在线视频| 国产亚洲一区二区三不卡| 麻豆精品一区二区视频在线| 欧美成年性h版影视中文字幕| 人妻一区二区三区三区| 视频一区视频二区制服丝袜| 国产自拍在线一区二区三区| 久久涩综合一区二区三区| 亚洲一区二区中文字幕| 久久精品av国产一区二区| 久久热在线视频精品视频| 色综合天天综合天天综 | 中文字幕日韩精品国产| 精品人妻码一区二区三区| 成 人免费va视频| 亚洲精品日韩在线丰满| 毛片在线看免费| 极品少妇的粉嫩小泬看片|