30.细解鸿蒙之元服务UX上架标准-支持拖移

162 阅读4分钟

细解鸿蒙之元服务UX上架标准-支持拖移

是否必须遵守:涉及则必须

标准项描述:

在应用程序的界面设计中,当界面存在支持拖移功能的目标时,用户能够借助鼠标或者触控板来实现对该目标的拖移操作。

拖移目标

界面中的多种元素都可能成为支持拖移的目标。例如,窗口、图标、图像、文本框、文件等。这些元素在设计时被赋予了拖移的特性,允许用户对其进行移动或重新排列。

鼠标操作

操作方式:使用鼠标进行拖移时,用户首先将鼠标指针移动到目标元素上,按下鼠标左键并保持按住状态。此时,鼠标指针会变成一个带有拖移指示的图标,然后通过移动鼠标来带动目标元素在屏幕上移动。当松开鼠标左键时,目标元素就会停留在新的位置。例如,在一个文件管理界面中,用户可以通过鼠标拖移文件图标到不同的文件夹。
控制精度:鼠标操作能够提供相对精确的拖移控制。用户可以根据自己的意愿,通过鼠标的移动来准确地定位目标元素的位置。这对于需要精确放置元素的场景非常重要,比如在设计布局时,用户可以将图标拖移到特定的位置。
操作范围:鼠标操作的范围相对较大,能够在整个屏幕范围内进行拖移。用户可以将目标元素拖移到屏幕的任何位置,甚至可以跨多个窗口或页面进行操作。

触控板操作

操作方式:触控板的操作方式与鼠标类似。用户将手指放在触控板上,通过滑动手指来移动目标元素。当手指按下并保持按住状态时,目标元素会随着手指的移动而移动。例如,在笔记本电脑上,用户可以通过触控板将窗口拖移到不同的位置。
操作体验:触控板提供了一种更加直观和便捷的操作方式。用户可以通过手势操作来实现拖移,例如双指滑动、单指点击并拖动等。这种操作方式使得用户在移动设备上能够更加灵活地操作界面。
操作特点:触控板的操作特点与鼠标有所不同。它可以通过不同的手势来实现不同的功能,例如双指缩放、单指旋转等。这些功能可以为用户提供更加丰富的操作体验。

拖移的意义

满足用户需求:通过拖移功能,用户可以根据自己的需求调整目标元素的位置,从而更好地组织和管理界面。例如,用户可以将窗口拖移到不同的位置,以便更好地查看和操作。
提高工作效率:拖移功能可以帮助用户快速地移动目标元素,从而提高工作效率。例如,在文件管理中,用户可以通过拖移文件图标来快速地将文件移动到不同的文件夹。
增强用户体验:支持拖移功能的目标为用户提供了更加直观和便捷的操作方式,从而增强用户体验。用户可以通过拖移操作来自由地调整界面元素的位置,使界面更加符合自己的使用习惯。 --javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

在 CMake 脚本中链接动态库
target_link_libraries(sample PUBLIC libimage_processing.so)
开发步骤
添加头文件。
#include <hilog/log.h>
#include <multimedia/image_framework/image_pixel_map_mdk.h>
#include <multimedia/image_framework/image/pixelmap_native.h>
#include <multimedia/video_processing_engine/image_processing.h>
#include <multimedia/video_processing_engine/image_processing_types.h>
#include <multimedia/player_framework/native_avformat.h>
#include <napi/native_api.h>
(可选)初始化环境。
一般在进程内第一次使用时调用,可提前完成部分耗时操作。
ImageProcessing_ErrorCode ret =  OH_ImageProcessing_InitializeEnvironment();
创建细节增强模块。
应用可以通过视频处理引擎模块类型来创建图片细节增强模块。示例中的变量说明如下:

imageProcessor:细节增强模块实例。
IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER:细节增强类型。
预期返回值:IMAGE_PROCESSING_SUCCESS
// 创建图片细节增强模块实例
ImageProcessing_ErrorCode ret = OH_ImageProcessing_Create(&imageProcessor, IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER);
(可选)配置细节增强档位,当前有高中低三档及NONE可选,若不配置则默认档位为LOW档。
// 创建format实例
OH_AVFormat* parameter = OH_AVFormat_Create();
// 指定档位
OH_AVFormat_SetIntValue(parameter, IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL,
    IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH);
// 配置参数
ImageProcessing_ErrorCode ret = OH_ImageProcessing_SetParameter(imageProcessor,parameter);
启动细节增强处理。
// 启动细节增强处理
ImageProcessing_ErrorCode ret = OH_ImageProcessing_EnhanceDetail(imageProcessor, srcImage, dstImage);
释放处理实例。
ImageProcessing_ErrorCode ret = OH_ImageProcessing_Destroy(imageProcessor);
释放处理资源。
OH_ImageProcessing_DeinitializeEnvironment();

PS:实际项目中如有出入,请告知博主,博主会第一时间修改得哇~