OpenHarmony 进度条适配不同屏幕尺寸
一、布局与尺寸基准
二、响应式断点与容器
三、组件形态与交互选择
四、样式与尺寸资源适配
五、代码示例
@Entry
@Component
struct Demo {
@State value: number = 40
build() {
Column({ space: 12 }) {
Progress({ value: this.value, total: 100 })
.width('80%') // 随父容器宽度自适应
.height(20) // 固定高度,保证触控与可视厚度
.color('#007DFF')
Text(`进度:${this.value}%`)
.fontSize(16)
Button('增加')
.onClick(() => { if (this.value < 100) this.value += 10 })
}
.width('100%')
.padding(16)
}
}
@Entry
@Component
struct GridDemo {
build() {
GridRow({ columns: 12, gutter: 16 }) {
GridCol({ span: { xs: 12, md: 8, lg: 6 } }) {
Progress({ value: 60, total: 100 })
.width('100%')
.height(16)
}
GridCol({ span: { xs: 12, md: 4, lg: 6 } }) {
// 右侧说明或操作区
Text('说明文字')
.fontSize(14)
.textAlign(TextAlign.Center)
}
}
.padding(16)
}
}
// 在页面级配置 designWidth 后,可用 lpx 按设计稿等比缩放
@Entry
@Component
struct LpxDemo {
build() {
Column() {
Progress({ value: 50, total: 100 })
.width('375lpx') // 以设计稿宽度 375 为基准等比缩放
.height(12)
}
.width('100%')
.padding(16)
}
}
上述示例分别展示了:用百分比实现线性进度条自适应;用GridRow/GridCol在不同断点下改变进度条span;用lpx配合页面designWidth实现整体等比缩放。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。