意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

记HarmonyOS!

来源:恒创科技 编辑:恒创科技编辑部
2024-01-23 22:45:59
ToastDialog

在移动端上生成弹窗,鸿蒙提供了ToastDialog类

具体样例为:

showToast(" The input param is invalid ");

private void showToast(String message) {
        new ToastDialog(this).setText(message).show();
}

效果图(在屏幕上显示一个类似弹窗的文本框)
image.png


记HarmonyOS!


SimpleDateFormat

Harmony重写了SimpleDateFormat
利用该类可以显示当前系统的时间,代码如下:

 long currentTime = System.currentTimeMillis();
 System.out.println(currentTime);//输出: 1644383917382
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat();  
 simpleDateFormat.setTimeZone(TimeZone.getTimeZone(TimeZone.getDefault().getID())); 
 String string = simpleDateFormat.format(currentTime); //输出: 2022/2/9 下午1:18
Button.setenabled(false/true);   //该函数用于将对应的Button按钮设置为可点或不可点状态

ListDialog类

image.png

列表对话框,ListDialog类的作用是在移动端界面生成一个小窗口,可用于与用户进行交互;列表对话框包括单选框列表和复选框列表。
基本函数:


ListDialog listDialog = new ListDialog(Context context);
listDialog.setAlignment(int alignment);// 设置对话框的位置,默认情况下位于屏幕中间
listDialog.setAutoClosable(boolean closable);// 设置是否启用自动关闭对话框。启用自动关闭后,当触摸或单击对话框外的位置时,对话框自动关闭。
listDialog.setItems(String[] items);//设置要显示在列表中的项
listDialog.setOnSingleSelectListener(IDialog.ClickedListener listener);//为普通列表或单选框列表注册一个监听器。此方法可用于通用和单选箱列表。
//其中IDialog.ClickedListener类为你的应用程序提供了一个接口,用来同时监听多个按钮的点击事件。监听对话框中按钮的单击事件。
listDialog.setButton(int buttonNum,String text,IDialog.ClickedListener listener);//设置一个按钮,并且可以为该按钮设置监听事件;buttonNum表示该按钮的位置,有三个可选值:0,1,2(对应不同的位置),text(显示在按钮上的文本),listener(监听该按钮的点击事件)

NotificationSlot类

该类可用于显示通知,可以与公共事件连用,用来辅助公共事件的显示效果。
定义公共通知主题,是通知音调、震动、锁屏显示、级别等功能的集合。可以将该类与应用程序关联,以便应用程序发布的所有通知都具有通知主题的特性。
创建好的NotificationSlot实例可以用NotificationHelper来进行(部署,相当于注册了一个通知,应该是这么说的)
image.png


NotificationRequest类

该类用来设置通知的具体信息,即何时发送,发送哪些内容等等
创建好的NotificationRequest实例可以用NotificationHelper来进行发送通知,即NotificationRequest被用作NotificationHelper.publishNotification(NotificationRequest notificationRequest)方法中的输入参数,用于发布通知。
image.png


IntentAgent类

该类配合NotificationRequest来定义通知事件,主要是用于定义事件。
NotificationRequest.setIntentAgent(IntentAgent agent)
添加一个IntentAgent到此Notification。点击通知后,根据IntentAgent对!事件的设置,会触发后续的能力、常见事件等操作。
以下操作中是对IntentAgent中参数的设置;IntentAgentInfo类是用来存放数据的,实例后可以作为参数进行对IntentAgent实例的生成
image.png

NotificationUserInput类

该类可以用来获取用户输入在文本框中的文本,
image.png
Builder(String inputKey)中的参数可以用来得到用户输入的文本,利用该inputKey来索取
image.png
如上图中的先利用NotificationUserInput.getInputsFromIntent(intent)获取到上文设置的与用户交互的文本框组件,再利用pacMap.getString(Const.NOTIFICATION_INPUT_KEY)获取到特定的某一个文本框,即getString中的参数的值就是上文的inputKey的值。

NotificationActionButton类

NotificationActionButton类一般与NotificationUserInput类配合使用
image.png
创建完成后加入到NotificationRequest实例中进行应用

NotificationRequest.addActionButton(NotificationActionButton actionButton);
布局中ListContainer类的使用

一般在布局文件中添加ListContainer组件,之后使用Java动态生成数据

ListContainer.setItemProvider(BaseItemProvider itemProvider);//通过此方法来设置ListContainer组件中的数据,参数中的类一般需要自己重写。设置一个BaseItemProvider对象来提供一个包含要显示的组件的ListContainer对象。

通过继承BaseItemProvider类,对该类中的几个方法进行重写,使得ListContainer可以使用这个类
image.png
其中getComponent()方法是核心
image.png
效果图:
image.png
其中每一个image.png都是由Provider这个模板生成出来的,通过ListContainer.setItemProvider(BaseItemProvider itemProvider)来生成

上一篇: DeferredResult 如何实现长轮询? 下一篇: 手机怎么远程登录云服务器?