HarmonyOS 鸿蒙Next RelativeContainer和Stack,定位问题
HarmonyOS 鸿蒙Next RelativeContainer和Stack,定位问题
想要实现的效果:
1:“快到期”角标,始终定位在数字右上角位置
2:数字数量不确定,且始终居中显示
实现方式
1:如果使用Stack包裹数字,数字宽度小于角标,则容器被角标撑开。如果数字比较多,如“12345”,则容器被数字撑开。这样角标如何定位?
2:如果使用RelativeContainer或者Stack包裹整个容器,则需要动态计算距离值.position({y:-8,x:计算}),这样是否太不方便了? 是否有更好的建议?
2 回复
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Page {
[@State](/user/State) str:string = "测试"
[@State](/user/State) str2:string = "测试2"
build() {
Column() {
Badge({
value: '快到期',
style: {badgeColor: '#FA2A2D' }
}) {
Text(this.str)
.fontSize("20fp")
.fontColor("#222222")
.onClick(()=>{
this.str+='_'
})
.margin({top:10,right:15})
}
.margin(60)
Row(){
Text(this.str2)
.fontSize("20fp")
.fontColor("#222222")
.onClick(()=>{
this.str2+='_'
})
Row(){
Row(){
Text("角标2").position({x:4,y:-8})
.backgroundColor("red")
}.width(300).height(50)
}.width(1).height(1)
}
}.width("100%")
}
}
试试这个