我要自學(xué)網(wǎng)ps視頻教程免費寧波網(wǎng)站優(yōu)化公司哪家好
作者:麥客奧德彪
在應(yīng)用開發(fā)中,最終呈現(xiàn)在用戶面前的UI,是用戶能否繼續(xù)使用應(yīng)用的強力依據(jù)之一,在之前的開發(fā)中,Android 屏幕碎片化嚴重,所以出現(xiàn)了很多尺寸適配方案。 最小寬適配、百分比適配等等。
還有一個點,就是為了能在項目中統(tǒng)一管理尺寸,我們一般會在values下生成一個dimens.xml 文件,然后將尺寸和文字大小進行統(tǒng)一管理,提供閱讀性。
Harmony的像素單位
并且提供了像素轉(zhuǎn)換的方式
再看下他的使用方式:
// xxx.ets
@Entry
@Component
struct Example {build() {Column() {Flex({ wrap: FlexWrap.Wrap }) {Column() {Text("width(220)").width(220).height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White).fontSize('12vp')}.margin(5)Column() {Text("width('220px')").width('220px').height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White)}.margin(5)Column() {Text("width('220vp')").width('220vp').height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White).fontSize('12vp')}.margin(5)Column() {Text("width('220lpx') designWidth:720").width('220lpx').height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White).fontSize('12vp')}.margin(5)Column() {Text("width(vp2px(220) + 'px')").width(vp2px(220) + 'px').height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White).fontSize('12vp')}.margin(5)Column() {Text("fontSize('12fp')").width(220).height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White).fontSize('12fp')}.margin(5)Column() {Text("width(px2vp(220))").width(px2vp(220)).height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White).fontSize('12fp')}.margin(5)}.width('100%')}}
}
在這種申明式布局中,直接寫‘12vp’ 更加不好管理了。
官方推薦的寫法是在
float.json 文件中進行管理
沒有單位時默認vp
用腳本生成
使用腳本直接生成常用的尺寸,
#!/bin/bash
vp="vp"
fp="fp"
size_num=300
font_size_num=100
# Generate JSON for size_1 to size_300 and save to float.json
echo "{ "float": [" > float.json
for ((i=1; i<=$size_num; i++)); doecho "{"name": "size_$i","value": "$i$vp"}" >> float.jsonif [ $i -lt $size_num ]; thenecho "," >> float.jsonfi
done
if [ $font_size_num -gt 0 ]; thenecho "," >> float.jsonfor ((i=1; i<=$font_size_num; i++)); doecho "{"name": "size_text_$i","value": "$i$fp"}" >> float.jsonif [ $i -lt $font_size_num ]; thenecho "," >> float.jsonfidone
fi
echo "] }" >> float.jsonecho "float.json file has been generated."
輸出之后可以表現(xiàn)為:
使用時直接
Column() {Text("fontSize($r('app.float.size_1'))").width(220).height(40).backgroundColor(0xF9CF93).textAlign(TextAlign.Center).fontColor(Color.White).fontSize($r('app.float.size_text_12'))}.margin(5)
為了能讓大家更好的學(xué)習(xí)鴻蒙 (Harmony OS) 開發(fā)技術(shù),這邊特意整理了《鴻蒙 (Harmony OS)開發(fā)學(xué)習(xí)手冊》(共計890頁),希望對大家有所幫助:https://qr21.cn/FV7h05
《鴻蒙 (Harmony OS)開發(fā)學(xué)習(xí)手冊》
入門必看
- 應(yīng)用開發(fā)導(dǎo)讀(ArkTS)
- 應(yīng)用開發(fā)導(dǎo)讀(Java)
HarmonyOS 概念:https://qr21.cn/FV7h05
- 系統(tǒng)定義
- 技術(shù)架構(gòu)
- 技術(shù)特性
- 系統(tǒng)安全
如何快速入門
- 基本概念
- 構(gòu)建第一個ArkTS應(yīng)用
- 構(gòu)建第一個JS應(yīng)用
- ……
開發(fā)基礎(chǔ)知識:https://qr21.cn/FV7h05
- 應(yīng)用基礎(chǔ)知識
- 配置文件
- 應(yīng)用數(shù)據(jù)管理
- 應(yīng)用安全管理
- 應(yīng)用隱私保護
- 三方應(yīng)用調(diào)用管控機制
- 資源分類與訪問
- 學(xué)習(xí)ArkTS語言
- ……
基于ArkTS 開發(fā):https://qr21.cn/FV7h05
- Ability開發(fā)
- UI開發(fā)
- 公共事件與通知
- 窗口管理
- 媒體
- 安全
- 網(wǎng)絡(luò)與鏈接
- 電話服務(wù)
- 數(shù)據(jù)管理
- 后臺任務(wù)(Background Task)管理
- 設(shè)備管理
- 設(shè)備使用信息統(tǒng)計
- DFX
- 國際化開發(fā)
- 折疊屏系列
- ……