当前位置: 首页 > news >正文

Harmony Next -- 通用标题栏:高度自定义,可设置沉浸式状态,正常状态下为:左侧返回、居中标题,左中右均可自定义视图。

hm_common_title_bar

OpenHarmony三方库中心仓:https://ohpm.openharmony.cn/#/cn/detail/common_title_bar

介绍

一款通用标题栏,支持高度自定义,可设置沉浸式状态,正常状态下为:左侧返回、居中标题,左中右均可自定义视图。

软件架构

Harmony next版本,兼容API12

效果图

在这里插入图片描述

安装教程
  1. ohpm install common_title_bar
使用说明
  1. 引入仓库
  2. 设置全局属性:状态栏高度、是否全面屏、标题栏高度、标题栏颜色等(可忽略,使用默认配置)

基础使用:

import { CommonTitleBar, TitleType } from '@ohos/commonTitleBar'
import { promptAction } from '@kit.ArkUI';@Component
export struct TitlePage {/*** rightType: TitleType.IMAGE时,设置了rightMorePopupData: this.rightMorePopup* 则会显示气泡菜单弹窗:如微信扫一扫弹窗*/@State rightMorePopup: MenuItemOptions[] = [{startIcon: $r('app.media.ic_edit'),content: "编辑资料",}, {startIcon: $r('app.media.ic_download'),content: "上传信息",}, {startIcon: $r('app.media.ic_upload'),content: "下载信息",}, {startIcon: $r('app.media.ic_scan'),content: "扫一扫",}]/*** 左侧自定义视图*/@BuilderleftBuilder() {Row() {Image($r('app.media.ic_arrow_left')).height(20)Text('返回').onClick(() => {promptAction.showToast({message: "点击了左侧自定义视图",duration: 1500,})})}}/*** 右侧自定义视图*/@BuilderrightBuilder() {Row() {Text('更多').onClick(() => {promptAction.showToast({message: "点击了右侧自定义视图",duration: 1500,})})Image($r('app.media.ic_more')).height(20)}}/*** 居中自定义视图*/@BuildercenterBuilder() {Row() {Image($r('app.media.ic_arrow_left')).height(20)Text('居中').onClick(() => {promptAction.showToast({message: "点击了居中自定义视图",duration: 1500,})})Image($r('app.media.ic_more')).height(20)}}build() {NavDestination() {Scroll() {Column() {CommonTitleBar({leftType: TitleType.NONE,centerType: TitleType.TEXT,centerText: "通用标题栏",})CommonTitleBar({isFullScreen: false,leftType: TitleType.TEXT,leftText: "返回",centerType: TitleType.TEXT,centerText: "非全面屏+左右文字",rightType: TitleType.TEXT,rightText: "更多",})/*** 左侧返回,右侧更多+气泡菜单*/CommonTitleBar({isFullScreen: false,centerType: TitleType.TEXT,centerText: "左侧返回+右侧更多",rightType: TitleType.IMAGE,rightMorePopupData: this.rightMorePopup,rightOnClick: (menu, index) => {promptAction.showToast({message: menu?.content + '---' + index,duration: 1500,})}})CommonTitleBar({isFullScreen: false,centerType: TitleType.TEXT,centerText: "自定义点击事件",centerOnClick: (): void => {promptAction.showToast({message: "居中自定义事件",duration: 1500,})},leftOnClick: () => {promptAction.showToast({message: "左侧自定义事件",duration: 1500,})},rightType: TitleType.TEXT,rightText: "更多",rightOnClick: () => {promptAction.showToast({message: "右侧自定义事件",duration: 1500,})}})/*** 自定义视图*/CommonTitleBar({isFullScreen: false,leftType: TitleType.CUSTOM,leftCustomView: this.leftBuilder,centerType: TitleType.CUSTOM,centerCustomView: this.centerBuilder,rightType: TitleType.CUSTOM,rightCustomView: this.rightBuilder})/*** 跑马灯效果*/CommonTitleBar({isFullScreen: false,leftWidth: 80,leftType: TitleType.TEXT,leftText: "超长文本时开启跑马灯效果",centerWidth: 150,centerText: "超长文本时开启跑马灯效果,超长文本时开启跑马灯效果,超长文本时开启跑马灯效果",rightWidth: 80,rightType: TitleType.TEXT,rightText: "超长文本时开启跑马灯效果",rightTextOverflow: TextOverflow.Ellipsis})/*** 中间搜索框*/CommonTitleBar({isFullScreen: false,leftType: TitleType.NONE,centerType: TitleType.SEARCH,searchValue: "关键字",searchPlaceholder: "请输入产品名称",searchButtonText: "搜索",searchButtonOptions: {fontSize: 14,fontColor: Color.Red},onChangeSearch: (value) => {console.log("Search:" + value)},onSubmitSearch: (value) => {promptAction.showToast({message: value,duration: 1500,})}})/*** 中间搜索框 + 左侧返回 + 右侧更多*/CommonTitleBar({isFullScreen: false,rightType: TitleType.IMAGE,rightMorePopupData: this.rightMorePopup,rightOnClick: (menu, index) => {promptAction.showToast({message: menu?.content + '---' + index,duration: 1500,})},centerLeftPadding: 50,centerRightPadding: 50,centerType: TitleType.SEARCH,searchPlaceholder: "请输入产品名称",searchButtonText: "搜索",searchButtonOptions: {fontSize: 14,fontColor: Color.Red},onChangeSearch: (value) => {console.log("Search:" + value)},onSubmitSearch: (value) => {promptAction.showToast({message: value,duration: 1500,})}})/*** 左侧返回方式:* BackType.* POP:使用NavPathStack.pop() 返回到上一页,默认方式* POP_TO_NAME:使用NavPathStack.popToName("name") 返回到上一个name页面* POP_TO_INDEX:使用NavPathStack.popToIndex(1) 返回到索引为1的页面* CLEAR:使用NavPathStack.clear() 返回到根首页(清除栈中所有页面)* ROUTER:使用router.back() 返回到上一页* 取决页面使用Router还是Navigation(推荐)导航*/CommonTitleBar({isFullScreen: false,centerText: "左侧返回方式",leftBackType: BackType.ROUTER})/*** 基础属性设置*/CommonTitleBar({centerText: "基础属性设置",isFullScreen: true,statusBarHeight: 50,statusBarColor: Color.Blue,titleBarHeight: 56,titleBarColor: Color.Green,showBottomLine: true,bottomLineColor: Color.Red,bottomLineSize: 5,})}}}.hideTitleBar(true)}
}

视图类型:

export enum TitleType {NONE = 'none', // 空白TEXT = 'text', // 文字IMAGE = 'image', // 图标CUSTOM = 'custom', // 自定义SEARCH = 'search', // 居中搜索框
}

左侧返回方式:

/*** 返回方式* 使用POP、POP_TO_NAME、POP_TO_INDEX、CLEAR,需要在MainPage主页面设置:@Provide('appPathStack') appPathStack: NavPathStack = new NavPathStack();* MainPage为其他使用CommonTitleBar子组件的主组件* 如果使用以下方式,自定义左侧图图标点击事件(onClickLeftImage)即可*/
export enum BackType {NONE = 'none', // 无点击事件ROUTER = 'router', // router.back() 返回到上一页POP = 'pop', // NavPathStack.pop() 返回到上一页;默认方式POP_TO_NAME = 'popToName', // NavPathStack.popToName("name") 返回到上一个name页面POP_TO_INDEX = 'popToIndex', // NavPathStack.popToIndex(1) 返回到索引为1的页面CLEAR = 'clear', // NavPathStack.clear() 返回到根首页(清除栈中所有页面)
}

CommonTitleBar属性介绍:

属性默认值说明
主体设置
isFullScreenboolean:true是否是全面沉浸是屏
statusBarHeightLength:36状态栏高度(全面沉浸式屏生效)
titleBarHeightLength:56标题栏高度
titleBarColorResourceColor:‘#f5f5f5’标题栏颜色
statusBarColorResourceColor:‘#f5f5f5’状态栏颜色 默认 等于标题栏颜色
showBottomLineboolean:true是否显示标题栏底部的分割线
bottomLineSizeLength:1标题栏底部的分割线的宽度
bottomLineColorResourceColor:“#DDDDDD”标题栏分割线颜色
左侧设置
leftTypestring:TitleType.IMAGE左侧视图类型,默认显示返回按钮
leftWidthLength:-1左侧视图宽度,不设置则自适应内容
leftLeftPaddingLength:15左侧视图左内间距
leftRightPaddingLength:5左侧视图右内间距
leftTextResourceStr:‘Left’左侧文字leftType = text 有效
leftTextColorResourceColor:“#000000”左侧文字颜色
leftTextSizeLength:16左侧文字大小
leftTextOverflowTextOverflow:TextOverflow.MARQUEE左侧文本,超长时的显示方式,默认跑马灯效果;
leftImageResourceResourceStrPixelMap:返回图标
leftImageWidthLength:26左侧图标宽度
leftImageHeightLength:26左侧图标高度
leftImagePaddingLength:5左侧图标padding值:图标尺寸16,内间距各5,保证点击范围
leftBackTypestring:BackType.POP返回方法,不设置leftOnClick的情况下生效
leftPopToNamestring:‘’BackType.POP_TO_NAME下生效:NavPathStack.popToName(“name”) 方式的页面名称
leftPopToIndexnumber:0BackType.POP_TO_INDEX下生效:NavPathStack.popToIndex(1) 返回到索引为1的页面
leftCustomView@Builder:左侧自定义视图
leftOnClick() => void左侧点击事件
右侧设置
rightTypestring:TitleType.NONE右侧视图类型,默认无视图
rightWidthLength:-1右侧宽度,不设置则自适应内容
rightLeftPaddingLength:5右侧视图左内间距
rightRightPaddingLength:15右侧视图右内间距
rightTextResourceStr:‘Right’右侧文字leftType = text 有效
rightTextColorResourceColor:“#000000”右侧文字颜色
rightTextSizeLength:16右侧文字大小
rightTextOverflowTextOverflow:TextOverflow.MARQUEE右侧文本,超长时的显示方式,默认跑马灯效果
rightImageResourceResourceStrPixelMap:更多图标
rightMorePopupView@Builder:更多-气泡菜单如果默认使用更多图标,可默认展示气泡菜单
rightMorePopupDataMenuItemOptions[]:[]气泡菜单数据列表
rightImageWidthLength:26右侧图标宽度
rightImageHeightLength:26右侧图标高度
rightImagePaddingLength:5右侧图标padding值:图标尺寸16,内间距各5,保证点击范围
rightCustomView@Builder:右侧自定义视图
rightOnClick(item?: MenuItemOptions, index?: number) => void右侧点击事件
居中设置
centerTypestring:TitleType.TEXT居中视图类型,默认文字视图
centerWidthLength:-1居中宽度,不设置则自适应内容
centerTextResourceStr:‘Center’居中文字leftType= text 有效
centerTextColorResourceColor:“#000000”居中文字颜色
centerTextSizeLength:16居中文字大小
centerTextOverflowTextOverflow: TextOverflow.MARQUEE居中文本,超长时的显示方式,默认跑马灯效果
centerOnClick() => void居中文字点击事件
centerImageResourceResourceStrPixelMap:无
centerImageWidthLength:26居中图标宽度
centerImageHeightLength:26居中图标高度
centerImagePaddingLength:5居中图标padding值:图标尺寸16,内间距各5,保证点击范围
centerCustomView@Builder:无居中自定义视图
searchValuestring:‘’centerType = TitleType.SEARCH生效:居中搜索框文本
searchPlaceholderResourceStr:‘请输入关键字’居中搜索框提示文本
searchButtonTextstring:‘搜索’设置搜索框末尾搜索按钮文本
searchButtonOptionsSearchButtonOptions:无设置搜索框末尾搜索按钮文本样式
onSubmitSearch(value: string) => void点击搜索图标、搜索按钮或者按下软键盘搜索按钮时触发该回调
onChangeSearch(value: string) => void输入内容发生变化时,触发该回调
centerLeftPaddingLength:30居中视图左内间距
centerRightPaddingLenght:30居中视图右间距

CommonTitleBar全局属性设置:统一设置,整个项目均可生效,一般位于EntryAbility.ets中设置:

/*** 设置通用标题栏的全局属性* 主体设置*/AppStorage.setOrCreate<boolean>(TitleGlobalAttribute.IS_FULL_SCREEN, true); // 全局设置是否是全面屏AppStorage.setOrCreate<number>(TitleGlobalAttribute.STATUS_BAR_HEIGHT, px2vp(area.topRect.height)); // 全局设置状态栏高度AppStorage.setOrCreate<number>(TitleGlobalAttribute.TITLE_BAR_HEIGHT, 56); // 全局设置标题栏高度AppStorage.setOrCreate<ResourceColor>(TitleGlobalAttribute.TITLE_BAR_COLOR, "#f5f5f5"); // 全局设置标题栏颜色AppStorage.setOrCreate<ResourceColor>(TitleGlobalAttribute.STATUS_BAR_COLOR, "#f5f5f5"); // 全局设置状态栏颜色AppStorage.setOrCreate<boolean>(TitleGlobalAttribute.SHOW_BOTTOM_LINE, true); // 全局设置是否显示标题栏底部的分割线AppStorage.setOrCreate<Length>(TitleGlobalAttribute.BOTTOM_LINE_SIZE, 1); // 全局设置标题栏底部的分割线的宽度AppStorage.setOrCreate<ResourceColor>(TitleGlobalAttribute.BOTTOM_LINE_COLOR, "#DDDDDD"); // 全局设置标题栏分割线颜色/*** 左侧设置*/AppStorage.setOrCreate<string>(TitleGlobalAttribute.LEFT_TYPE, TitleType.IMAGE); // 全局设置左侧视图类型AppStorage.setOrCreate<Length>(TitleGlobalAttribute.LEFT_LEFT_PADDING, 15); // 全局设置左侧视图左内间距AppStorage.setOrCreate<Length>(TitleGlobalAttribute.LEFT_RIGHT_PADDING, 5); // 全局设置左侧视图右内间距AppStorage.setOrCreate<ResourceColor>(TitleGlobalAttribute.LEFT_TEXT_COLOR, "#000000"); // 全局设置左侧文字颜色AppStorage.setOrCreate<Length>(TitleGlobalAttribute.LEFT_TEXT_SIZE, 16); // 全局设置左侧文字大小AppStorage.setOrCreate<ResourceStr | PixelMap>(TitleGlobalAttribute.LEFT_IMAGE_RESOURCE,$r('app.media.ic_arrow_left')); // 全局设置左侧图标AppStorage.setOrCreate<Length>(TitleGlobalAttribute.LEFT_IMAGE_WIDTH, 26); // 全局设置左侧图标宽度AppStorage.setOrCreate<Length>(TitleGlobalAttribute.LEFT_IMAGE_HEIGHT, 26); // 全局设置左侧图标高度AppStorage.setOrCreate<Length>(TitleGlobalAttribute.LEFT_IMAGE_PADDING, 5); // 全局设置左侧图标padding/*** 右侧设置*/AppStorage.setOrCreate<string>(TitleGlobalAttribute.RIGHT_TYPE, TitleType.NONE); // 全局设置右侧视图类型AppStorage.setOrCreate<Length>(TitleGlobalAttribute.RIGHT_LEFT_PADDING, 5); // 全局设置右侧视图左内间距AppStorage.setOrCreate<Length>(TitleGlobalAttribute.RIGHT_RIGHT_PADDING, 15); // 全局设置右侧视图右内间距AppStorage.setOrCreate<ResourceColor>(TitleGlobalAttribute.RIGHT_TEXT_COLOR, "#000000"); // 全局设置右侧文字颜色AppStorage.setOrCreate<Length>(TitleGlobalAttribute.RIGHT_TEXT_SIZE, 16); // 全局设置右侧文字大小AppStorage.setOrCreate<ResourceStr | PixelMap>(TitleGlobalAttribute.RIGHT_IMAGE_RESOURCE,$r('app.media.ic_more')); // 全局设置左侧图标AppStorage.setOrCreate<Length>(TitleGlobalAttribute.RIGHT_IMAGE_WIDTH, 26); //  全局设置右侧图标宽度AppStorage.setOrCreate<Length>(TitleGlobalAttribute.RIGHT_IMAGE_HEIGHT, 26); // 全局设置右侧图标高度AppStorage.setOrCreate<Length>(TitleGlobalAttribute.RIGHT_IMAGE_PADDING, 5); // 全局设置右侧图标padding/*** 居中设置*/AppStorage.setOrCreate<string>(TitleGlobalAttribute.CENTER_TYPE, TitleType.TEXT); // 全局设置居中视图类型AppStorage.setOrCreate<Length>(TitleGlobalAttribute.CENTER_LEFT_PADDING, 30); // 全局设置居中视图左内间距AppStorage.setOrCreate<Length>(TitleGlobalAttribute.CENTER_RIGHT_PADDING, 30); // 全局设置居中视图右内间距AppStorage.setOrCreate<ResourceColor>(TitleGlobalAttribute.CENTER_TEXT_COLOR, "#000000"); // 全局设置居中文字颜色AppStorage.setOrCreate<Length>(TitleGlobalAttribute.CENTER_TEXT_SIZE, 16); // 全局设置居中文字大小AppStorage.setOrCreate<ResourceStr | PixelMap>(TitleGlobalAttribute.CENTER_IMAGE_RESOURCE,''); // 全局设置居中图标AppStorage.setOrCreate<Length>(TitleGlobalAttribute.CENTER_IMAGE_WIDTH, 26); //  全局设置居中图标宽度AppStorage.setOrCreate<Length>(TitleGlobalAttribute.CENTER_IMAGE_HEIGHT, 26); // 全局设置居中图标高度AppStorage.setOrCreate<Length>(TitleGlobalAttribute.CENTER_IMAGE_PADDING, 5); // 全局设置居中图标padding

相关文章:

Harmony Next -- 通用标题栏:高度自定义,可设置沉浸式状态,正常状态下为:左侧返回、居中标题,左中右均可自定义视图。

hm_common_title_bar OpenHarmony三方库中心仓&#xff1a;https://ohpm.openharmony.cn/#/cn/detail/common_title_bar 介绍 一款通用标题栏&#xff0c;支持高度自定义&#xff0c;可设置沉浸式状态&#xff0c;正常状态下为&#xff1a;左侧返回、居中标题&#xff0c;左…...

甄选范文“论数据分片技术及其应用”软考高级论文,系统架构设计师论文

论文真题 数据分片就是按照一定的规则,将数据集划分成相互独立、正交的数据子集,然后将数据子集分布到不同的节点上。通过设计合理的数据分片规则,可将系统中的数据分布在不同的物理数据库中,达到提升应用系统数据处理速度的目的。 请围绕“论数据分片技术及其应用”论题…...

【elementui】记录el-table设置左、右列固定时,加大滚动条宽度至使滚动条部分被固定列遮挡的解决方法

当前elementui版本&#xff1a;2.8.2 现象&#xff1a;此处el-table__body-wrapper默认的滚动条宽度为8px&#xff0c;我加大到10px&#xff0c;如果不设置fixed一切正常&#xff0c;设置fixed后会被遮挡一点 el-table__fixed-right::before, .el-table__fixed::before 设置…...

Python人工智能:一、语音合成和语音识别

在Python中&#xff0c;语音合成&#xff08;Text-To-Speech, TTS&#xff09;和语音识别&#xff08;Speech-To-Text, STT&#xff09;是两个非常重要的功能&#xff0c;它们在人工智能、自动化、辅助技术以及许多其他领域都有广泛的应用。下面将分别介绍这两个领域在Python中…...

C/C++进阶 (8)哈希表(STL)

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;C 本文着重于模拟实现哈希表&#xff0c;并非是哈希表的使用。 实现的哈希表的底层用的是线性探测法&#xff0c;并非是哈希桶。 目录 一、标准库中的哈希表 1、unordered_map 2、unordered_set 二、模…...

2024电赛H题参考方案(+视频演示+核心控制代码)——自动行驶小车

目录 一、题目要求 二、参考资源获取 三、TI板子可能用到的资源 1、环境搭建及工程移植 2、相关模块的移植 四、控制参考方案 1、整体控制方案视频演示 2、视频演示部分核心代码 五、总结 一、题目要求 小编自认为&#xff1a;此次控制类类型题目的H题&#xff0c;相较于往年较…...

设计模式14-享元模式

设计模式14-享元模式 由来动机定义与结构代码推导特点享元模式的应用总结优点缺点使用享元模式的注意事项 由来动机 在很多应用中&#xff0c;可能会创建大量相似对象&#xff0c;例如在文字处理器中每个字符对象。在这些场景下&#xff0c;如果每个对象都独立存在&#xff0c…...

Javascript中canvas与svg详解

Canvas 在JavaScript中&#xff0c;<canvas> 元素用于在网页上绘制图形&#xff0c;如线条、圆形、矩形、图像等。它是一个通过JavaScript和HTML的<canvas>元素来工作的绘图表面。<canvas> 元素自身并不具备绘图能力&#xff0c;它仅仅提供了一个绘图环境&a…...

【BUG】已解决:No Python at ‘C:Users…Python Python39python. exe’

No Python at ‘C:Users…Python Python39python. exe’ 目录 No Python at ‘C:Users…Python Python39python. exe’ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班…...

Flink SQL 的工作机制

前言 Flink SQL 引擎的工作流总结如图所示。 从图中可以看出&#xff0c;一段查询 SQL / 使用TableAPI 编写的程序&#xff08;以下简称 TableAPI 代码&#xff09;从输入到编译为可执行的 JobGraph 主要经历如下几个阶段&#xff1a; 将 SQL文本 / TableAPI 代码转化为逻辑执…...

[AI Mem0] 源码解读,带你了解 Mem0 的实现

Mem0 的 CRUD 到底是如何实现的&#xff1f;我们来看下源码。 使用 先来看下&#xff0c;如何使用 Mem0 import os os.environ["OPENAI_API_KEY"] "sk-xxx"from mem0 import Memorym Memory()# 1. Add: Store a memory from any unstructured text re…...

【LLM】-10-部署llama-3-chinese-8b-instruct-v3 大模型

目录 1、模型下载 2、下载项目代码 3、启动模型 4、模型调用 4.1、completion接口 4.2、聊天&#xff08;chat completion&#xff09; 4.3、多轮对话 4.4、文本嵌入向量 5、Java代码实现调用 由于在【LLM】-09-搭建问答系统-对输入Prompt检查-CSDN博客 关于提示词注入…...

C语言 之 理解指针(4)

文章目录 1. 字符指针变量2. 数组指针变量2.1 对数组指针变量的理解2.2 数组指针变量的初始化 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用 5. 函数指针数组 1. 字符指针变量 我们在前面使用的主要是整形指针变量&#xff0c;现在要学…...

Java设计模式—单例模式(Singleton Pattern)

目录 一、定义 二、应用场景 三、具体实现 示例一 示例二 四、懒汉与饿汉 饿汉模式 懒汉模式 五、总结 六、说明 一、定义 二、应用场景 ‌单例模式的应用场景主要包括以下几个方面&#xff1a; ‌日志系统&#xff1a;在应用程序中&#xff0c;通常只需要一个日…...

AV1帧间预测(二):运动补偿

运动补偿(Motion Compensation,MC)是帧间预测最基础的工具&#xff0c;AV1支持两种运动补偿方式&#xff0c;一种是传统的平移运动补偿&#xff0c;另一种是仿射运动补偿。下面分别介绍这两种运动补偿方法。 平移运动补偿 平移运动补偿是最传统的运动补偿方式&#xff0c;H.26…...

数学建模(5)——逻辑回归

一、二分类 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklea…...

【C++高阶】:深入探索C++11

✨ 心似白云常自在&#xff0c;意如流水任东西 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f4…...

6. 自定义Docker镜像

如何自定义Docker镜像&#xff1a;从基础到实践 Docker作为一个容器化平台&#xff0c;使得应用的打包、分发和运行变得更加高效和便捷。本文将详细介绍如何自定义一个Docker镜像&#xff0c;包括镜像的构成、分层原理、创建自定义镜像的具体步骤&#xff0c;并演示如何打包和…...

「12月·长沙」人工智能与网络安全国际学术会议(ISAICS 2024)

人工智能与网络安全国际学术会议(ISAICS 2024)将于2024年12月20日-2024年12月22日在湖南长沙召开。会议中发表的文章将会被收录,并于见刊后提交EI核心索引。会议旨在在为国内与国际学者搭建交流平台,推进不同学科领域的融合发展&#xff0c;就当今人工智能与网络安全范畴内各学…...

【技术支持案例】使用S32K144+NSD8381驱动电子膨胀阀

文章目录 1. 前言2. 问题描述3. 理论分析3.1 NSD8381如何连接电机3.2 S32K144和NSD8381的软件配置 4.测试验证4.1 测试环境4.2 测试效果4.3 测试记录 1. 前言 最近有客户在使用S32K144NSD8381驱动电子膨胀阀时&#xff0c;遇到无法正常驱动电子膨胀阀的情况。因为笔者也是刚开…...

OpenMV串口数据收发实战:如何与Arduino/STM32稳定通信并解析指令

OpenMV与微控制器串口通信实战&#xff1a;从基础协议到工业级稳定性优化 在智能机器人、自动化检测设备等嵌入式视觉系统中&#xff0c;OpenMV常作为"视觉传感器"与主控微控制器&#xff08;如Arduino/STM32&#xff09;协同工作。我曾参与过一个AGV小车项目&#x…...

科研绘图不止Origin:聊聊OriginPro 2021与Python/Matlab的共存与选择

科研绘图工具三选一&#xff1a;OriginPro 2021与Python/Matlab的深度对比指南 当科研工作者面临数据可视化需求时&#xff0c;往往会在OriginPro、Python&#xff08;Matplotlib/Seaborn&#xff09;和Matlab这三款主流工具之间犹豫不决。每种工具都有其独特的优势和应用场景…...

手把手教你用AT32F403A实现串口空闲中断接收完整数据帧

深入解析AT32F403A串口空闲中断实现高效数据帧接收 在嵌入式系统开发中&#xff0c;串口通信是最基础也最常用的外设接口之一。面对实际应用中常见的不定长数据帧接收需求&#xff0c;传统轮询方式不仅效率低下&#xff0c;还容易丢失数据。而国产MCU雅特力AT32F403A提供的**串…...

实战应用:基于快马平台开发排序算法性能对比分析工具

今天想和大家分享一个特别实用的工具开发经历——用InsCode(快马)平台快速搭建了一个排序算法性能对比分析工具。这个项目不仅帮我巩固了算法知识&#xff0c;还意外发现了很多实际应用中的细节问题&#xff0c;特别适合用来理解不同排序算法的实战表现。 1. 为什么需要这个工…...

魔兽地图跨版本转换与优化全指南:从兼容性处理到地图性能提升

魔兽地图跨版本转换与优化全指南&#xff1a;从兼容性处理到地图性能提升 【免费下载链接】w3x2lni 魔兽地图格式转换工具 项目地址: https://gitcode.com/gh_mirrors/w3/w3x2lni 在魔兽争霸III的地图开发领域&#xff0c;版本兼容性始终是开发者面临的核心挑战。不同游…...

OpenHD图传实战:如何为你的树莓派3B天空端配置720P 60帧,实现低延迟流畅回传

OpenHD图传实战&#xff1a;树莓派3B天空端720P 60帧低延迟优化指南 当你已经完成OpenHD图传系统的基础搭建&#xff0c;却发现默认配置下的画面卡顿、延迟明显时&#xff0c;这篇文章将带你深入系统核心&#xff0c;通过精准调参实现从"勉强能用"到"专业级流畅…...

遥感小白别慌!ENVI 5.6 基础操作保姆级教程:从打开文件到剖面图显示,一篇搞定

遥感新手实战指南&#xff1a;ENVI 5.6 从零到剖面分析的完整工作流 第一次打开ENVI时&#xff0c;那个布满英文按钮的界面和密密麻麻的菜单栏&#xff0c;是不是让你瞬间想起了大学时被专业课支配的恐惧&#xff1f;别担心&#xff0c;三年前的我也是这样——面对一幅Landsat…...

Ostrakon-VL扫描终端实战教程:像素特工式零售图像识别部署指南

Ostrakon-VL扫描终端实战教程&#xff1a;像素特工式零售图像识别部署指南 1. 像素特工终端介绍 想象你是一位未来世界的零售侦探&#xff0c;手持高科技扫描仪在商店里穿梭。Ostrakon-VL扫描终端就是你的数字助手&#xff0c;它能帮你"看"懂货架上的每一个细节。这…...

VSCode里装个Cline,真能让写代码快10倍?我的真实体验和避坑指南

VSCode里装个Cline&#xff0c;真能让写代码快10倍&#xff1f;我的真实体验和避坑指南 第一次听说Cline这个VSCode插件时&#xff0c;我内心是充满怀疑的。作为一个在代码堆里摸爬滚打多年的开发者&#xff0c;早已对各种"革命性"工具免疫。但当我看到同行在短短十分…...

如何免费构建个人游戏串流服务器:Sunshine开源方案完整指南

如何免费构建个人游戏串流服务器&#xff1a;Sunshine开源方案完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款开源的自托管游戏串流服务器&#xff0c;让您…...