HarmonyOS 鸿蒙Next:通过@ohos.promptAction弹出toast,toast不能设置背景颜色吗
HarmonyOS 鸿蒙Next:通过@ohos.promptAction弹出toast,toast不能设置背景颜色吗
希望HarmonyOS能加强与其他品牌设备的兼容性,让更多人受益。
关于HarmonyOS 鸿蒙Next:通过@ohos.promptAction弹出toast,toast不能设置背景颜色吗的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
通过@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去取消这个自定义弹窗。