HarmonyOS 鸿蒙Next:通过@ohos.promptAction弹出toast,toast不能设置背景颜色吗

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:通过@ohos.promptAction弹出toast,toast不能设置背景颜色吗
希望HarmonyOS能加强与其他品牌设备的兼容性,让更多人受益。

关于HarmonyOS 鸿蒙Next:通过@ohos.promptAction弹出toast,toast不能设置背景颜色吗的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

11 回复

通过@ohos.promptAction弹出toast,toast不能设置背景颜色吗

import prompt from '@ohos.promptAction'

export default { showToast(content) { prompt.showToast({ message: content, duration: 2000, bottom: 400 }); } }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

希望HarmonyOS能继续加强与其他应用的兼容性,让用户体验更加完美。

个人感觉还是需要对外开放更多的基础方法,更容易封装好用的组件

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

import { DiyLayout } from '../../common/utils'

//构建一个构造函数 export class ToastUtill { type: string //success error show: boolean message: string timer: number

constructor() { this.type = ‘success’ this.show = false this.message = ‘’ this.timer = 0 }

showToast(type: string, message: string, duration: number = 1000) { this.message = message this.type = type this.show = true if (this.timer) { clearTimeout(this.timer) } this.timer = setTimeout(() => { this.show = false }, duration) } }

@Component export struct DiyToast { @Prop toastData: ToastUtill

build() { if (this.toastData.show) { if (this.toastData.type == ‘success’) { Row() { Row() { Text(this.toastData.message) .fontColor(Color.White) .fontSize(DiyLayout.px2fp(42)) .fontWeight(FontWeight.Bold) }.width(‘100%’).height(‘100%’).alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Center) } .baseStyle() .successStyle() } if (this.toastData.type == ‘error’) { Row() { Row() { Text(this.toastData.message) .fontColor(Color.White) .fontSize(DiyLayout.px2fp(42)) .fontWeight(FontWeight.Bold) }.width(‘100%’).height(‘100%’).alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Center) } .baseStyle() .errorStyle() }

}

} }

@Styles function successStyle() { .backgroundColor(‘rgba(0, 140, 123, 0.7)’) }

@Styles function errorStyle() { .backgroundColor(‘rgba(177, 23, 69, 0.7)’) }

@Styles function baseStyle() { .position({ x: DiyLayout.px2vp_w(140), y: DiyLayout.px2vp_h(864) }) .zIndex(99) .width(DiyLayout.px2vp_w(800)) .height(DiyLayout.px2vp_h(192)) .borderRadius(DiyLayout.px2fp(24)) }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

写自定义组件吧
 

import { DiyToast, ToastUtill } from ‘…/…/components/toast/index’

@State toastData: ToastUtill = new ToastUtill() … this.toastData.showToast(‘error’,‘请填写账号密码111’, 1000)

<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

DiyToast我看代码里没有引用,这个能显示出toast么?

希望HarmonyOS能继续推出更多实用的功能,满足用户的不同需求。

论坛做的太烂了,像个老古董一样,缺人气,没人管,排版全是广告

这个肯定是看过才来发帖的,不支持toast修改背景,还不能通过CustomDialog封装,因为没有CustomDialogController没有show的回调,只有cancel的回调,不然我可以在show里面,写一个setTimeOut去取消这个自定义弹窗。

无人问津的帖子
回到顶部