ToastDialog
在移动端上生成弹窗,鸿蒙提供了ToastDialog类
具体样例为:
showToast(" The input param is invalid ");
private void showToast(String message) {
new ToastDialog(this).setText(message).show();
}
效果图(在屏幕上显示一个类似弹窗的文本框)
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类
列表对话框,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来进行(部署,相当于注册了一个通知,应该是这么说的)
NotificationRequest类
该类用来设置通知的具体信息,即何时发送,发送哪些内容等等
创建好的NotificationRequest实例可以用NotificationHelper来进行发送通知,即NotificationRequest被用作NotificationHelper.publishNotification(NotificationRequest notificationRequest)方法中的输入参数,用于发布通知。
IntentAgent类
该类配合NotificationRequest来定义通知事件,主要是用于定义事件。
NotificationRequest.setIntentAgent(IntentAgent agent)
添加一个IntentAgent到此Notification。点击通知后,根据IntentAgent对!事件的设置,会触发后续的能力、常见事件等操作。
以下操作中是对IntentAgent中参数的设置;IntentAgentInfo类是用来存放数据的,实例后可以作为参数进行对IntentAgent实例的生成
NotificationUserInput类
该类可以用来获取用户输入在文本框中的文本,
Builder(String inputKey)中的参数可以用来得到用户输入的文本,利用该inputKey来索取
如上图中的先利用NotificationUserInput.getInputsFromIntent(intent)获取到上文设置的与用户交互的文本框组件,再利用pacMap.getString(Const.NOTIFICATION_INPUT_KEY)获取到特定的某一个文本框,即getString中的参数的值就是上文的inputKey的值。
NotificationActionButton类
NotificationActionButton类一般与NotificationUserInput类配合使用
创建完成后加入到NotificationRequest实例中进行应用
NotificationRequest.addActionButton(NotificationActionButton actionButton);
布局中ListContainer类的使用
一般在布局文件中添加ListContainer组件,之后使用Java动态生成数据
ListContainer.setItemProvider(BaseItemProvider itemProvider);//通过此方法来设置ListContainer组件中的数据,参数中的类一般需要自己重写。设置一个BaseItemProvider对象来提供一个包含要显示的组件的ListContainer对象。
通过继承BaseItemProvider类,对该类中的几个方法进行重写,使得ListContainer可以使用这个类
其中getComponent()方法是核心
效果图:
其中每一个都是由Provider这个模板生成出来的,通过ListContainer.setItemProvider(BaseItemProvider itemProvider)来生成