一、ToastDialog 的使用
ToastDialog 是在窗口上方弹出的对话框,是通知操作的简单反馈。ToastDialog 会在一段时间后消失,在此期间,用户还可以操作当前窗口的其他组件。 创建一个 ToastDialog:
new ToastDialog ( getContext ( ) )
. setText ( "This is a ToastDialog" )
. show ( ) ;
new ToastDialog ( getContext ( ) )
. setText ( "This is a ToastDialog displayed in the middle" )
. setAlignment ( LayoutAlignment. CENTER)
. show ( ) ;
自定义 ToastDialog 的 Component:
DirectionalLayout toastLayout = ( DirectionalLayout) LayoutScatter. getInstance ( this)
. parse ( ResourceTable. Layout_layout_toast, null, false) ;
new ToastDialog ( getContext ( ) )
. setContentCustomComponent ( toastLayout)
. setSize ( DirectionalLayout. LayoutConfig. MATCH_CONTENT, DirectionalLayout. LayoutConfig. MATCH_CONTENT)
. setAlignment ( LayoutAlignment. CENTER)
. show ( ) ;
< ? xml version= "1.0" encoding= "utf-8" ? >
< DirectionalLayout
xmlns: ohos= "http:
ohos: height= "match_content"
ohos: width= "match_content"
ohos: orientation= "vertical" >
< Text
ohos: id= "$+id:msg_toast"
ohos: height= "match_content"
ohos: width= "match_content"
ohos: left_padding= "16vp"
ohos: right_padding= "16vp"
ohos: top_padding= "4vp"
ohos: bottom_padding= "4vp"
ohos: layout_alignment= "center"
ohos: text_size= "16fp"
ohos: text= "This is a ToastDialog for the customized component"
ohos: background_element= "$graphic:background_toast_element" / >
< / DirectionalLayout>
其中 background_toast_element.xml:
< ? xml version= "1.0" encoding= "utf-8" ? >
< shape xmlns: ohos= "http:
ohos: shape= "rectangle" >
< corners
ohos: radius= "30vp" / >
< solid
ohos: color= "#66808080" / >
< / shape>
二、场景示例
自定义视图:添加多个视图的场景。自定义多个组件的效果如下:
layout_toast_and_image.xml 代码示例:
< ? xml version= "1.0" encoding= "utf-8" ? >
< DirectionalLayout
xmlns: ohos= "http:
ohos: height= "match_content"
ohos: width= "match_content"
ohos: orientation= "horizontal" >
< Image
ohos: width= "30vp"
ohos: height= "30vp"
ohos: scale_mode= "inside"
ohos: image_src= "$media:icon" / >
< Text
ohos: id= "$+id:msg_toast"
ohos: height= "match_content"
ohos: width= "match_content"
ohos: background_element= "$graphic:background_toast_element"
ohos: bottom_padding= "4vp"
ohos: layout_alignment= "vertical_center"
ohos: left_padding= "16vp"
ohos: right_padding= "16vp"
ohos: text= "This is a ToastDialog with An Image"
ohos: text_size= "16fp"
ohos: top_padding= "4vp" / >
< / DirectionalLayout>
其中 background_toast_element.xml:
< ? xml version= "1.0" encoding= "utf-8" ? >
< shape xmlns: ohos= "http:
ohos: shape= "rectangle" >
< corners
ohos: radius= "30vp" / >
< solid
ohos: color= "#66808080" / >
< / shape>
DirectionalLayout layout = ( DirectionalLayout) LayoutScatter. getInstance ( this)
. parse ( ResourceTable. Layout_layout_toast_and_image, null, false) ;
new ToastDialog ( getContext ( ) )
. setContentCustomComponent ( layout)
. setSize ( DirectionalLayout. LayoutConfig. MATCH_CONTENT, DirectionalLayout. LayoutConfig. MATCH_CONTENT)
. setAlignment ( LayoutAlignment. CENTER)
. show ( ) ;