HarmonyOS 鸿蒙Next 气泡弹出
HarmonyOS 鸿蒙Next 气泡弹出
图片自定义组件函数中的设置了气泡点击弹出,为什么其他的非自定义组件也会有气泡弹出?
更多关于HarmonyOS 鸿蒙Next 气泡弹出的实战教程也可以访问 https://www.itying.com/category-93-b0.html
-
气泡的背景色没有改变:你使用的是自定义popup,必须指定builder,如果使用message则使用默认的,设置的那些属性不生效,具体可以看官网自定义 https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-universal-attributes-popup-0000001427744792-V3
-
出现两处的问题我看你代码是不会复现的,可以排查是否其他引用影响的
更多关于HarmonyOS 鸿蒙Next 气泡弹出的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
builder:this.messageRender是不是你自定义的变量?
那个是@builder自定义函数组件,里面是气泡框展示内容,
请问怎么声明messageRender的值呢?
如果这样声明messageRender的值,预览会报错的
请先。。。
牛掰大佬!,我再去仔细看下官方文档,
import CommonConstants from '../../common/constants/CommonConstants';
@Entry
@Component
struct test {
@State is_agree:boolean = false
//同意按钮自定义函数装饰组件
@Builder selection_button(icon:Resource){
Image(icon)
.objectFit(ImageFit.Contain)
.width(20)
.height(20)
//点击事件,取反状态变量is_agree
.onClick(() => {
this.is_agree = !this.is_agree
})
//点击事件触发显示气泡组件,true不做操作,false显示气泡
.bindPopup(this.is_agree, {
message: "请先阅读并勾选协议后进行登陆",
popupColor: $r("app.color.popup"),
placement:Placement.Top
}
)
}
build(){
Column({space:100}){
Row(){
Image($r("app.media.back"))
.width(20)
.height(20)
.offset({ x: '10vp',y:'20vp'})
}
.width(CommonConstants.FULL_PARENT)
Row(){
//切换同意按钮状态
if (this.is_agree){
this.selection_button($r('app.media.ic_ok'))
} else {
this.selection_button($r('app.media.ic_default'))
}
//协议文案
Text($r("app.string.Login_instructions"))
.fontSize(13)
.fontColor($r("app.color.input_color"))
}
}
.backgroundColor(Color.Black)
.width(CommonConstants.FULL_PARENT)
.height(CommonConstants.FULL_PARENT)
}
}
并且气泡的背景色也没有改变?
问题解决了吗?
HarmonyOS鸿蒙Next中的气泡弹出功能主要用于提供简洁的提示信息或操作选项。气泡弹出通常通过Popup
组件实现,开发者可以自定义气泡的内容、位置、样式等。以下是实现气泡弹出的基本步骤:
- 创建Popup对象:使用
Popup
类创建一个气泡对象。 - 设置气泡内容:可以通过
setContent
方法设置气泡中显示的内容,内容可以是文本、按钮或其他UI组件。 - 设置气泡位置:使用
setPosition
方法指定气泡弹出的位置,通常基于某个控件的边界或屏幕坐标。 - 设置气泡样式:通过
setBackground
等方法自定义气泡的背景、边框、阴影等样式。 - 显示气泡:调用
show
方法在指定位置显示气泡。 - 关闭气泡:可以通过
hide
方法手动关闭气泡,或设置自动关闭时间。
示例代码片段:
let popup = new Popup();
popup.setContent("这是一个气泡提示");
popup.setPosition(100, 200); // 设置气泡弹出位置
popup.show();
鸿蒙Next的气泡弹出功能支持动画效果、触摸外部关闭等交互特性,开发者可根据需求灵活配置。