Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
下苦平臺碎片化已久。
在移動互聯(lián)網(wǎng)以前,開發(fā)者只需幸福的面對web。進(jìn)入移動互聯(lián)網(wǎng)時代,iOS、Android、H5以及各種小程序快應(yīng)用層出不窮,開發(fā)者再也幸福不起來。
結(jié)果就是工程師不停加班到頭禿,但產(chǎn)品的需求仍然做不完、老板的預(yù)算一直壓不下去,全都痛苦。
uni-app之前已經(jīng)實(shí)現(xiàn)了手機(jī)端全覆蓋,支持iOS、Android、H5、微信小程序、阿里小程序、百度小程序、字節(jié)跳動小程序、QQ小程序、快應(yīng)用、360小程序,并且在各端均有優(yōu)異的運(yùn)行性能。
從2.9版本起,uni-app 進(jìn)一步提供了PC等寬屏的適配方案,完成了大統(tǒng)一。
開發(fā)者終于可以做到使用一個框架,一把擼掉所有項(xiàng)目。
不說虛的,先來個實(shí)際示例,大家直觀感受一下:
如下是基于uni-app的DCloud社區(qū)在mobile端的展示效果,列表、詳情分為兩個頁面,點(diǎn)擊列表中的帖子,打開詳情頁面:
如下是基于uni-app的DCloud社區(qū)同一套代碼,稍作配置后,在pc端的展示效果,列表、詳情在同一個頁面中左右分欄顯示,點(diǎn)擊左側(cè)列表中的帖子,刷新右側(cè)詳情窗口的內(nèi)容,這個UI更適合pc寬屏,也更有pc桌面App的體驗(yàn)。
怎么樣?有沒有被酷到?
下面我們具體來講講uni-app的pc寬屏適配方案,總的來說,包括三個方面:
手機(jī)屏幕和PC顯示器的設(shè)計(jì)不同。為了方便手持及接聽電話,大多手機(jī)的設(shè)備高度大于設(shè)備寬度(即為窄屏設(shè)計(jì)),故mobile App 多為豎屏/窄屏顯示的UI。
而pc顯示器多為寬屏設(shè)計(jì),即設(shè)備寬度大于設(shè)備高度,在pc上的桌面應(yīng)用,很多會采用左右分欄的UI設(shè)計(jì)。
uni-app以目前手機(jī)屏幕為主窗體(window),在左/右/上三個方向,新擴(kuò)展 leftWindow、rightWindow、topWindow三個窗體,這三個窗體可設(shè)定在屏幕寬度大于某一閥值時自動出現(xiàn)(展現(xiàn)分欄的寬屏設(shè)計(jì)),屏幕寬度小于某一閥值后自動消失(恢復(fù)單窗口的窄屏設(shè)計(jì))。
uni-app主窗體和擴(kuò)展的三個窗體各自獨(dú)立,支持互相通信,點(diǎn)擊鏈接、切換頁面時支持在相應(yīng)的窗體內(nèi)刷新,而不是整屏刷新。
我們以本文開頭的DCloud社區(qū)為例,講解如何在uni-app中快捷實(shí)現(xiàn)寬屏適配。
我們將社區(qū)的列表頁作為主窗體,將詳情內(nèi)容擴(kuò)展到rightWindow中,示意如下:
接下來分步說明,如何在uni-app項(xiàng)目中完成分欄實(shí)現(xiàn)。
step 1: 新建right-window.vue展現(xiàn)帖子詳情
當(dāng)然,rightWindow無需重寫新聞詳情頁面,是可復(fù)用原有代碼的,支持把已有詳情頁面當(dāng)組件放到 rightWindow 頁面中,如下:
<!-- responsive/right-window.vue -->
<template>
<view>
<!-- 將原來的詳情頁(/pages/detail/detail.vue),作為一個組件(pages-detail-detail)使用 -->
<pages-detail-detail ref="detailPage"></pages-detail-detail>
</view>
</template>
<script>
export default {
created(e) {
//監(jiān)聽自定義事件,該事件由左側(cè)列表頁的點(diǎn)擊觸發(fā)
uni.$on('updateDetail', (e)=> {
// 執(zhí)行 detailPage組件,即:/pages/detail/detail.vue 頁面的load方法
this.$refs.detailPage.load(e.detail);
})
}
}
</script>
復(fù)制代碼
step 2: 在列表頁面,處理點(diǎn)擊列表后與rightWindow交互通信的邏輯。
// 列表頁的改造
goDetail(detail) {
if (this._isWidescreen) {
//若為寬屏,則觸發(fā)右側(cè)分欄詳情頁的自定義事件,通知右側(cè)窗體刷新新聞詳情
uni.$emit('updateDetail', {
detail: encodeURIComponent(JSON.stringify(detail))
})
} else {
// 若為窄評,則打開新窗體,在新窗體打開詳情頁面
uni.navigateTo({
url: '/pages/detail/detail?query=' + encodeURIComponent(JSON.stringify(detail))
});
}
},
復(fù)制代碼
step 3: 在pages.json中注冊rightWindow,如下:
{
"rightWindow": {
"path": "responsive/right-window.vue", // 指定 rightWindow 頁面文件
"style": {
"width": "calc(100vw - 400px)" // 頁面寬度
},
"matchMedia": {
"minWidth": 768 //生效條件,當(dāng)窗口寬度大于768px時顯示
}
}
}
復(fù)制代碼
可以看到,無需太多工作量,就可以快速把一個為手機(jī)窄屏開發(fā)的應(yīng)用,快速適配為PC寬屏應(yīng)用。并且以后的代碼維護(hù),仍然是同一套,當(dāng)業(yè)務(wù)迭代時不需要多處升級。
這套方案的實(shí)施,有如下特征:
更多配置細(xì)節(jié),詳見uni-app官方文檔。
leftWindow方案除了適用于將原有的Mobile App適配到大屏顯示,也適用于新開發(fā)的PC應(yīng)用,尤其是PC Admin管理控制臺。
如下是基于leftwindow、topwindow構(gòu)建的經(jīng)典pc admin布局:
leftWindow等方案是頁面窗體級適配方案,適用于多頁面的組合分欄顯示。
那么在同一個頁面中,組件是否可以適配不同屏寬?當(dāng)然可以,此時可以使用組件級適配方案。
除了傳統(tǒng)的css媒體查詢外,uni-app還提供了全平臺兼容的 match-media組件 和配套的 uni.createMediaQueryObserver 方法。
match-media是一個媒體查詢適配組件,可以更簡單的用于動態(tài)屏幕適配。
在match-media組件中放置內(nèi)容,并為該組件指定一組 media query 媒體查詢規(guī)則,如屏幕寬度。運(yùn)行時,如屏幕寬度滿足查詢條件,則這個組件就會被展示,反之則隱藏。
match-media組件的優(yōu)勢包括:
uni-app推薦采用運(yùn)行時動態(tài)適配的方案,而不是為PC版單獨(dú)編寫條件編譯(雖然你也可以通過自定義條件編譯來實(shí)現(xiàn)單獨(dú)的PC版)。這樣設(shè)計(jì)的好處是在ipad等設(shè)備的瀏覽器上可以方便的橫豎屏切換。
設(shè)計(jì)Mobile App時,設(shè)計(jì)師常會以 iPhone6 作為視覺高的標(biāo)準(zhǔn),即按照750px屏幕寬度出圖;程序員以750px作為基準(zhǔn),根據(jù)設(shè)備實(shí)際尺寸,動態(tài)換算(縮放)出適合當(dāng)前設(shè)備屏幕的元素寬高。
這就是rpx(responsive pixel)的實(shí)現(xiàn)思路,只不過rpx由框架引擎動態(tài)換算元素尺寸,無需程序員寫代碼干預(yù)。
面向mobile端時,rpx是一種很理想的解決方案,因?yàn)楦鞣N移動設(shè)備的屏幕寬度差異不是很大,相對于750px微調(diào)縮放后的效果,可最大化的還原設(shè)計(jì)師的設(shè)計(jì)。
但是,一旦脫離移動設(shè)備,在pc屏幕,或者pad橫屏狀態(tài)下,因?yàn)槠聊粚挾冗h(yuǎn)大于750了。此時rpx根據(jù)屏幕寬度變化的結(jié)果就嚴(yán)重脫離了預(yù)期,大的慘不忍睹。
假設(shè)一個圖文列表的展現(xiàn),我們針對左側(cè)縮略圖定義如下css:
.uni-media-list-logo {
width: 180rpx;
height: 140rpx;411*(180/750)411*(180/750)411*(180/750)
}
復(fù)制代碼
在手機(jī)端,這個顯示效果是比較理想的,如下:
當(dāng)前選擇 pixel 2作為模擬設(shè)備,屏幕寬度為411px,故縮略圖的寬度變?yōu)椋?80*(411/750)=98px,高度變?yōu)椋?40*(411/750)=76px,這個理論計(jì)算和實(shí)際運(yùn)行相符,且效果較佳。
同樣的代碼,如果運(yùn)行到pc端,假設(shè)屏幕寬度為1920px,則縮略圖的尺寸將變?yōu)椋?80*(1920/750)=460px,高度變?yōu)椋?40*(1920/750)=358px,這個慘不忍睹的大就出來了,一個1920*1080的顯示器,只能顯示2條記錄(主要是縮略圖高度放大導(dǎo)致的),效果如下:
為此,在uni-app 2.9+起,新增了 rpx 按750px做基準(zhǔn)屏寬的生效范圍控制,即屏幕寬度超過某閥值(默認(rèn)為960px)后,將不再以屏幕實(shí)際寬度換算元素寬高,而改以固定屏幕寬度(默認(rèn)為375px)計(jì)算元素寬高。
以上述圖文列表為例,當(dāng)屏幕寬度為1920px(大于960px)時,將采用固定的屏幕寬度(默認(rèn)375px)計(jì)算縮略圖的寬高,即:180*(375/750)=90px,高度變?yōu)椋?40*(375/750)=70px,按照這個機(jī)制,pc端運(yùn)行效果如下,相比上圖的放大變丑,展現(xiàn)更為理想優(yōu)雅。
Tips:
{
"globalStyle": {
"rpxCalcMaxDeviceWidth": 960, // rpx 計(jì)算所支持的最大設(shè)備寬度,單位 px,默認(rèn)值為 960
"rpxCalcBaseDeviceWidth": 375, // 設(shè)備實(shí)際寬度超出 rpx 計(jì)算所支持的最大寬度時,rpx計(jì)算所采用的固定屏幕寬度,單位 px,默認(rèn)值為 375
}
}
復(fù)制代碼
有了寬屏適配,uni-app的應(yīng)用就可以方便的通過electron打包為電腦客戶端應(yīng)用,windows、mac、linux均支持。
開發(fā)者可以隨意調(diào)用electron的API,以調(diào)用更多操作系統(tǒng)的能力(為方便多端兼容,可以將這些特殊API寫在自定義的條件編譯里)
uni-app插件市場有已經(jīng)封裝好的一些插件,詳見插件市場。
如果你的h5版已經(jīng)開發(fā)完畢,還沒來得及適配pc,但想在pc上先用起來。那么可以在pc網(wǎng)頁里使用iframe,約定好寬度,在里面套用uni-app的窄屏版。
當(dāng)然還可以在iframe旁邊放置二維碼,提供手機(jī)版掃碼地址,如下是一個實(shí)現(xiàn)示例:
uni-app團(tuán)隊(duì)將keep running,繼續(xù)完善uni-app在pc、pad等寬屏設(shè)備上的更好適配,并會在ssr、serverless方向上重點(diǎn)投入,提供云端一體的更高效率的解決方案(詳見uniCloud),幫助企業(yè)更高效,幫助開發(fā)者更輕松!
歡迎大家到GitHub上給我們star鼓勵。
G時代雖然現(xiàn)在消費(fèi)者用電腦逛淘寶的的機(jī)會越來越少,但是對于很多還想入淘的新賣家來說,PC端裝修在他們心中也是至關(guān)重要,其實(shí)PC端首頁裝修常見的模塊無非就那幾個,店招,導(dǎo)航,輪播海報(bào),優(yōu)惠券,全屏寬圖等,其中淘寶pc端全屏海報(bào)尺寸寬度1920px,高度隨意哈!
當(dāng)然很多KA商家玩的可能會玩得更花,尤其是在618、雙11這樣的大促期間,加上各種的特效,比如下雪,雪花、元寶、花瓣等,看著很炫酷,間接增加店鋪客戶粘度。
今天幫一個做工業(yè)設(shè)備的朋友裝修了一下PC端店鋪首頁,對于店招、輪播海報(bào)等這些網(wǎng)上教程有很多,沒太多技巧,就那個方法,我就不贅述了,下面來說一下首頁裝修遇到的一個問題就是全屏海報(bào)之前空白間隙的問題,該如何去除呢?當(dāng)然網(wǎng)上也是有很多教程的,也有工具可以去除的,但是按照這種方法操作肯定能夠去除間隙。
很多首頁裝修的時候,全屏海報(bào)因?yàn)榭粗叨恕⒋髿狻⑸蠙n次,因此首頁裝修都是必不可少的,但是會出現(xiàn)海報(bào)與海報(bào)之前有空白間隙的問題,這個空白間隙一般是20px,當(dāng)然,有很多美工裝修助手都是可以直接去掉這些空白間隙的,但是幾乎所有的裝修工具都是收費(fèi)的,那不借助這些收費(fèi)的工具該如何去除呢?(最后分享一個免費(fèi)的)
全屏海報(bào)的添加都是通過店鋪裝修后臺左側(cè)欄中基礎(chǔ)模塊中的自定義區(qū)模塊添加的,如果大家稍微知道一些div+css的知識,不借助工具直接在DW里面寫的話一般都會避免出現(xiàn)海報(bào)與海報(bào)之間間隙的問題。當(dāng)然如果添加完海報(bào)在預(yù)覽狀態(tài)下出現(xiàn)留白間隙的話,很多時候都是借助工具生產(chǎn)的代碼才會出現(xiàn)這種情況,出現(xiàn)白色間隙先返回裝修頁面點(diǎn)擊右上角 "裝修",進(jìn)入自定義內(nèi)容區(qū),顯示標(biāo)題處 選擇"不顯示",然后點(diǎn)擊“源碼”,進(jìn)入源碼狀態(tài),按下圖所示的1和2 兩個步驟操作修改源碼,可以完美去除海報(bào)之間的留白問題。
當(dāng)然我截圖的代碼顯示的是我這邊height:710px, -20px 就是690px, 你的height是多少, 根據(jù)情況減20px就可以了。也就是說1和2步驟都是要減掉白色間隙的20px.
其實(shí)經(jīng)常搞設(shè)計(jì)的美工,手里都會有幾個經(jīng)常用到的美工助手工具,而且網(wǎng)上有很多類似 這樣的,免費(fèi)的功能幾乎都都能滿足日常需要,更會為設(shè)計(jì)師節(jié)省不少時間。在這里就不再分享了哈,以免被誤認(rèn)為有打廣告的嫌疑.
近段時間最火的游戲就是CAPCOM的3A大作《怪物獵人:世界》了,這部怪物獵人IP的最新作品在玩法與畫面都有非常巨大的進(jìn)步,聯(lián)機(jī)狩獵的方式也更為有趣,然而唯一令人稍有遺憾的地方就是暫時還不支持21:9的游戲畫面。
但好消息是,與主機(jī)平臺相比,PC平臺可以自由安裝各類補(bǔ)丁和Mod,這便為《怪物獵人:世界》的21:9超寬屏效果奠定了基礎(chǔ)。最近,一位名叫FluffyQuack
的MOD制作者在YouTube上發(fā)布了一段《怪物獵人:世界》21:9的寬屏效果演示,從視頻來看,似乎確實(shí)成功實(shí)現(xiàn)了21:9的寬屏效果。
視頻:https://v.qq.com/x/page/j076434niz1.html
《怪物獵人:世界》21:9的寬屏效果演示(視頻注釋)
不過這位大神的21:9超寬屏MOD還在制作中,目前還有一些不完善的地方,比如Volume渲染質(zhì)量不佳,T-AA和水面渲染效果也有問題,在讀取新的關(guān)卡時,超寬屏畫面也會出錯。作者表示已經(jīng)找到解決辦法,正在嘗試更改游戲初始化渲染分辨率,很快會讓MOD近乎完美。
與常規(guī)的16:9畫面比例相比,21:9的寬屏效果有很多優(yōu)勢,比如視野更開闊,更容易發(fā)現(xiàn)目標(biāo),欣賞到風(fēng)景也更接近人眼效果,游戲體驗(yàn)更具沉浸感。
想要了解一下的玩家可以去百度搜索“《怪物獵人:世界》寬屏MOD”,然后將下載好的21:9寬屏MOD文件夾移動到安裝目錄,即\ Steam \ steamapps \ common \ Monster Hunter World下面。
除了下載安裝MOD以外,想要更好的體驗(yàn)21:9的游戲畫面,還需要一個性能強(qiáng)大的21:9寬屏顯示器,融合了尖端科技的ALIENWARE AW3418DW曲面電競顯示器自然是首選。
AW3418DW擁有3440×1440 WQHD分辨率的34英寸顯示屏,可呈現(xiàn)出368萬像素清晰銳利的游戲畫面,為玩家?guī)碜畋普婕?xì)膩的視覺效果;21:9的寬高比在每個視點(diǎn)都能呈現(xiàn)卓越畫質(zhì),從而帶來更加深入的游戲體驗(yàn),讓玩家盡情沉浸在游戲的非凡樂趣之中。
同時,AW3418DW擁有高達(dá)120Hz的刷新率和4毫秒的響應(yīng)時間,更高的刷新率幫助玩家先手出擊,更短的響應(yīng)時間讓玩家不必?fù)?dān)心任何延遲情況,享受順暢無阻的游戲環(huán)境;更有NVIDIA? G-SYNC?技術(shù)加持,提升屏幕幀畫面的加載速度,避免撕裂和假影等畫面失真問題,讓玩家可以縱享流暢生動的亮麗圖像。
隨著玩家對21:9畫面需求的增加,有人推測,未來CAPCOM有可能推出《怪物獵人:世界》的官方寬屏補(bǔ)丁。但不論是玩家自制的MOD,還是官方補(bǔ)丁,想要體驗(yàn)更暢快更生動21:9的寬屏畫面,必須依靠強(qiáng)大顯示器的承載。作為極致游戲體驗(yàn)的象征,ALIENWARE融合尖端科技打造出的AW3418DW曲面電競顯示器必將為《怪物獵人:世界》的玩家們奉上最震撼的視覺體驗(yàn)!
ALIENWARE 34英寸21:9曲面顯示器AW3418DW,造型獨(dú)特酷炫無比,支持NVIDIA? G-Sync?技術(shù),具有寬廣的視角、超凡的分辨率和閃電般的響應(yīng)速度,讓你在游戲中一騎絕塵。AW3418DW戴爾官網(wǎng)售價(jià)14999元,點(diǎn)擊鏈接,馬上擁有屬于你自己的21:9超酷顯示器!
https://www.dell.com/zh-cn/shop/alienware-34系列曲面電競顯示器-aw3418dw/apd/210-anph/顯示器及顯示器附件
領(lǐng)略至新游戲裝備、尊享高端游戲體驗(yàn),盡在Alienware外星人。即刻登錄官網(wǎng)http://adfarm.mediaplex.com/ad/ck/10592-246013-23409-1,購買官方正品外星人電腦,享受專業(yè)游戲服務(wù)。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。