ability_main.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:alignment="center"
ohos:orientation="vertical">
<Button
ohos:id="$+id:but1"
ohos:height="match_content"
ohos:width="match_content"
ohos:text="点我"
ohos:text_size="40fp"
ohos:background_element="#FFE39898"
/>
</DirectionalLayout>
MainAbilitySlice.java代码:
package com.example.dialogapplication.slice;
import com.example.dialogapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.agp.components.Component;
import ohos.agp.window.dialog.CommonDialog;
import ohos.agp.window.dialog.IDialog;
public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
//1.找到按钮
Button btn = (Button) findComponentById(ResourceTable.Id_but1);
//2.给按钮添加点击事件
btn.setClickedListener(this);
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
@Override
public void onClick(Component component) {
//把普通弹框弹出来
//1.创建弹框对象
//this:当前弹框展示到当前界面中
CommonDialog cd = new CommonDialog(this);
//2.因为弹框里面有默认布局的
//设置标题
cd.setTitleText("系统定位服务已关闭");
//设置内容
cd.setContentText("请打开定位服务,以便司机师傅能够准确接您上车");
//设置按钮
//参数一:按钮的索引 0 1 2 最多三个按钮
//参数二:按钮的文字
//参数三:点击了按钮之后做什么
cd.setButton(0, "设置", new IDialog.ClickedListener() {
@Override
public void onClick(IDialog iDialog, int i) {
//写上点击了设置之后要做的事情
//如果点击之后不需要做任何事情,在第三个参数中传递null就可以了
}
});
cd.setButton(1, "取消", new IDialog.ClickedListener() {
@Override
public void onClick(IDialog iDialog, int i) {
cd.destroy();
}
});
//自动关闭:点击外部区域可以关闭弹窗
cd.setAutoClosable(true);
//把弹框显示出来
cd.show();
}
}
效果: