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

UniApp 页面布局基础

一、UniApp 页面布局简介

在当今的移动应用开发领域,跨平台开发已成为一种主流趋势。UniApp作为一款极具影响力的跨平台开发框架,凭借其“一套代码,多端运行”的特性,为开发者们提供了极大的便利,显著提升了开发效率。无论是开发iOS、Android应用,还是微信小程序、H5页面,UniApp都能游刃有余,让开发者告别繁琐的多版本代码编写。

而在应用开发的过程中,页面布局无疑起着基石般的关键作用。一个设计精良的页面布局,就如同一个精心装修的房屋,不仅能提升应用的美观度,更能极大地优化用户体验,让用户在操作过程中感受到流畅与舒适,从而提高应用的留存率和用户满意度。接下来,就让我们一同深入探索UniApp的页面布局基础,开启高效开发的学习之旅。

二、尺寸单位详解

(一)px像素单位

px,也就是像素,是我们在开发中最常见的尺寸单位之一,它代表着屏幕上的一个物理像素点。在UniApp中,当我们使用px来定义元素的尺寸、间距、位置等属性时,所设定的值是固定不变的。这意味着,无论在何种分辨率的设备上显示,元素都会按照我们设定的像素数量进行呈现。

例如,我们设置一个按钮的宽度为100px,高度为50px,在分辨率为1920×1080的设备上,它会以这个精确的尺寸显示;而在分辨率较低的720×1280设备上,同样也是显示为100px×50px。这种固定性在一些场景下能够满足我们对精准布局的需求,比如设计一些具有固定尺寸要求的图标、按钮,或者需要精确对齐的元素组合。

然而,px单位的固定特性也带来了一定的局限性。随着移动设备的种类日益繁多,屏幕尺寸和分辨率各不相同,使用px作为唯一的尺寸单位,可能会导致在某些设备上布局出现变形或显示效果不佳的情况。例如,在大屏幕手机上,固定像素的元素可能会显得过小,而在小屏幕手机上又可能过大,影响用户体验。

(二)rpx响应式像素单位

为了解决px单位在不同屏幕尺寸下适应性不足的问题,rpx(responsive pixel)应运而生。rpx是一种相对的、响应式的尺寸单位,它能够根据屏幕的宽度自动进行自适应调整,确保元素在各种设备上都能保持相对一致的视觉比例。

UniApp规定屏幕的基准宽度为750rpx,这意味着无论设备的实际屏幕宽度是多少,都将其等分为750份,每份即为1rpx。在实际开发中,我们可以通过一个简单的公式来将设计稿中的px值转换为rpx值:rpx = (750 * 设计稿元素px值) / 设计稿基准宽度。

举个例子,假设我们拿到的设计稿宽度为375px,其中一个图片元素在设计稿上的宽度为150px,那么将其转换为UniApp中的rpx值就是:(750 * 150) / 375 = 300rpx。这样,当应用在不同宽度的设备上运行时,该图片元素的宽度会根据屏幕宽度等比例缩放,始终保持相对合适的视觉效果。

比如在iPhone 6(屏幕宽度375px)上,300rpx的元素宽度正好占据屏幕宽度的40%(300 / 750 = 0.4);而在屏幕宽度为414px的iPhone XS Max上,同样300rpx的元素宽度占比约为36.5%(300 / 750 * 414 ≈ 165.6px,165.6 / 414 ≈ 0.365),虽然实际像素数不同,但在视觉上的比例感相近,不会出现严重的拉伸或压缩。

rpx单位特别适用于需要适应不同屏幕宽度的页面布局,如列表项、文本容器、图片展示区域等,能够让我们轻松实现页面的自适应,减少因屏幕尺寸差异带来的适配难题。

(三)百分比单位

百分比作为一种尺寸单位,它的大小是基于父元素的尺寸来计算的。在UniApp的布局中,当我们将子元素的宽度、高度或其他可设置尺寸的属性值设为百分比时,子元素会根据父元素的相应尺寸按比例进行自适应调整。

例如,我们有一个父容器的宽度为500px,在其中放置一个子元素,并将子元素的宽度设置为50%,那么这个子元素的实际宽度就会是250px(500 * 0.5)。这种自适应特性使得百分比单位在创建响应式布局时非常实用。

在实际应用场景中,比如我们设计一个卡片式布局,卡片的容器宽度使用百分比设置,如设置为80%,使其在不同屏幕宽度的设备上都能保持一定的左右留白,看起来较为美观且适应屏幕变化;又如在一个分栏布局中,左右两栏分别设置宽度为40%和60%,能够随着父容器(通常是屏幕宽度或某个外层布局容器)的变化而灵活调整各自的宽度,确保内容合理展示。

需要注意的是,百分比单位在高度属性上的表现可能会因布局结构和内容的不同而有所差异,有时可能无法完全按照预期的比例进行自适应,需要结合其他布局技巧或单位一起使用,以达到理想的效果。但总体而言,百分比单位为我们构建灵活多变的页面布局提供了有力支持,是实现响应式设计不可或缺的工具之一。

三、布局方式介绍

(一)Flex布局

  1. 基本概念与容器属性:Flex布局,全称为Flexible Box布局,是一种极为强大且灵活的CSS布局模式,在UniApp的页面布局中被广泛应用。要启用Flex布局,操作非常简便,只需在容器元素的CSS样式中设置display: flex即可,如此一来,该容器便成为了Flex布局容器,容器内的子元素则自动成为Flex项目。

Flex布局容器默认存在两条极为重要的轴:主轴和交叉轴。主轴的方向由flex-direction属性决定,默认是水平方向(从左至右),此时交叉轴为垂直方向;若将flex-direction设置为column,主轴则变为垂直方向(从上至下),交叉轴相应变为水平方向。这两条轴为元素的排列和对齐提供了精准的参照系,使得我们能够轻松实现各种复杂的布局需求。

  1. 常用属性
    • flex-direction:此属性用于明确主轴的方向,其可选值丰富多样,包括row(默认值,主轴水平,起点在左端)、row-reverse(主轴水平,起点在右端)、column(主轴垂直,起点在上沿)、column-reverse(主轴垂直,起点在下沿)。通过灵活调整该属性,我们可以轻松改变子元素在容器中的排列方向,满足不同场景下的布局需求。
    • justify-content:它主要负责控制子元素在主轴上的对齐方式,为我们提供了多种对齐选择。flex-start能实现子元素左对齐,flex-end可达成右对齐效果,center则让子元素完美居中对齐。若追求元素之间等距分布,space-between是个不错的选择,它会将空白均匀分配在元素中间;而space-around不仅能让元素两侧间隔相等,还会使元素之间的间隔比元素与边框的间隔大一倍,呈现出独特的布局效果。
    • align-items:该属性聚焦于子元素在交叉轴上的对齐表现。flex-start促使子元素与交叉轴的起点对齐,flex-end则让子元素与交叉轴的终点对齐,center能实现子元素在交叉轴中点对齐。当子元素包含文本时,baseline会按照文字底部进行对齐,确保文本呈现的一致性;特别地,若子元素未设置高度或高度设为auto,stretch属性将发挥作用,使子元素自动占满整个容器的高度,适应容器的尺寸变化。

以下是一个简单的代码示例,帮助大家更好地理解这些属性的实际应用:

 

<template>

<view class="container">

<view class="item red">红</view>

<view class="item green">绿</view>

<view class="item blue">蓝</view>

</view>

</template>

<script>

export default {

data() {

return {};

}

};

</script>

<style>

.container {

display: flex;

flex-direction: row; /* 设置主轴为水平方向 */

justify-content: space-around; /* 主轴上元素等距对齐,两端留白 */

align-items: center; /* 交叉轴上元素居中对齐 */

}

.item {

width: 100upx;

height: 100upx;

font-size: 20px;

}

.red {

background-color: #FF0000;

}

.green {

background-color: #4CD964;

}

.blue {

background-color: #007AFF;

}

</style>

在上述示例中,我们创建了一个包含三个色块的Flex容器。通过设置flex-direction为row,确保色块在水平方向排列;justify-content: space-around让色块之间以及与容器边框保持等距且两端留白的美观效果;align-items: center使色块在垂直方向居中对齐,整体呈现出整齐、协调的布局样式。

(二)Grid布局

  1. 快速入门:Grid布局作为CSS3引入的一种强大的二维布局模式,为我们构建复杂而精致的页面布局提供了有力支持。在UniApp中运用Grid布局,首先要在父容器元素上设置display: grid,以此将其定义为Grid容器。

定义好容器后,接下来的关键步骤是划分网格的行列。这主要借助grid-template-rows和grid-template-columns这两个属性来实现。它们的值可以采用多种形式,例如固定像素值(如100px 200px,表示第一行高度为100像素,第二行高度为200像素)、百分比(如25% 75%,按比例划分行高),还可以使用fr单位(如1fr 2fr,表示按比例分配列宽,第一列占1份,第二列占2份,自动适应容器宽度)。通过巧妙组合这些设置,我们能够创建出满足各种设计需求的网格结构。

  1. 元素定位:在划分好网格后,要精准定位子元素在网格中的位置,就需要用到grid-row和grid-column属性。这两个属性的值通常采用<起始行/结束行>和<起始列/结束列>的形式来指定。例如,grid-row: 1 / 3表示子元素横跨从第1行到第3行的区域,grid-column: 2 / 4则意味着子元素占据从第2列到第4列的空间,从而实现子元素在网格中的灵活布局,打造出多样化的页面排版效果。

以下是一个Grid布局的示例代码:

 

<template>

<view class="container">

<view class="item item1">1</view>

<view class="item item2">2</view>

<view class="item item3">3</view>

<view class="item item4">4</view>

<view class="item item5">5</view>

<view class="item item6">6</view>

</view>

</template>

<script>

export default {

data() {

return {};

}

};

</script>

<style>

.container {

display: grid;

grid-template-columns: repeat(3, 1fr); /* 创建3列,每列等宽 */

grid-template-rows: 100px 100px; /* 定义2行,每行高100像素 */

grid-gap: 10px; /* 网格间距为10像素 */

}

.item {

background-color: #fff;

text-align: center;

font-size: 24px;

}

.item1 {

grid-column: 1 / 3; /* 跨第1列和第2列 */

}

.item2 {

grid-row: 1 / 3; /* 跨第1行和第2行 */

}

.item3 {

grid-row: 1 / 3;

}

.item4 {

grid-column: 3 / 4;

}

.item5 {

grid-column: 1 / 2;

}

.item6 {

grid-column: 2 / 4;

}

</style>

在这个示例中,我们构建了一个简单的Grid布局容器,它包含3列2行的网格结构,网格间距为10像素。通过grid-column和grid-row属性对各个子元素进行精准定位,使得不同的子元素能够横跨或占据特定的行列区域,最终呈现出一个错落有致、布局合理的页面效果,充分展示了Grid布局在复杂页面设计中的强大功能。

四、样式相关要点

(一)背景图片设置

在UniApp中,设置背景图片是丰富页面视觉效果的重要手段。它支持多种图片格式,如常见的JPEG、PNG,以及GIF等动态图片格式,满足不同场景下的展示需求。不过,在使用背景图片时,需要留意图片大小的限制。通常情况下,为了保证应用的性能和加载速度,对于较大的背景图片,建议进行适当的压缩处理。

当引用背景图片时,有本地路径和网络路径两种方式。若使用本地图片,需将图片文件放置在项目的static目录下,这是UniApp规定的静态资源存放位置。在CSS样式中引用时,路径的格式要格外注意,推荐使用以~@开头的绝对路径,例如background-image: url('~@/static/logo.png');。这种方式能够确保在不同的编译环境和平台下,图片路径都能被正确识别,避免因路径问题导致图片无法显示。

而对于网络图片,只需在url中填写完整的图片网络地址即可,如background-image: url('https://example.com/images/bg.jpg');。但要确保网络图片的稳定性和合法性,避免因图片链接失效或侵权问题给应用带来不良影响。

(二)字体图标使用

字体图标作为一种轻量级、可缩放的图标解决方案,在UniApp开发中被广泛应用,能有效提升页面的简洁性与美观度。以阿里巴巴矢量图标库为例,使用网络路径字体图标时,首先要在其官网注册并登录,搜索心仪的图标加入购物车,接着创建项目将图标添加进去,随后进入项目图标页面,复制对应的CSS代码。将复制的代码粘贴到项目的CSS文件中,并确保路径正确,然后在需要使用图标的元素上添加相应的类名,即可轻松展示字体图标。

若使用本地路径字体图标,步骤稍有不同。先从阿里巴巴矢量图标库下载字体图标文件,解压后将相关字体文件(如.ttf、.woff等)放置到项目的static目录下,通常建议新建一个专门的fonts文件夹进行管理,以保持项目结构的清晰。之后,修改iconfont.css文件中的引入路径,使其指向本地的字体文件,同样推荐使用~@开头的绝对路径形式,如src: url('~@/static/fonts/iconfont.ttf');。完成路径修改后,在App.vue文件的样式部分引入iconfont.css,如此一来,在页面的各个组件中,只需给元素添加对应的字体图标类名,就能灵活运用本地字体图标,为页面增添独特的视觉标识。

五、全局样式与局部样式

(一)全局样式

在UniApp项目中,App.vue文件起着至关重要的作用,它不仅是应用的入口组件,更是定义全局样式的核心所在。在App.vue的<style>标签内所定义的样式,将会对整个应用的所有页面产生影响,具有全局性。

例如,我们在App.vue中设置全局的字体样式:

 

body {

font-family: 'Helvetica Neue', Helvetica, sans-serif;

font-size: 14px;

}

通过这样的设置,应用内的所有页面,无论是首页、详情页还是其他任何页面,其文本字体都会统一应用上述定义的字体家族和字号大小,无需在每个页面重复定义,极大地提高了代码的复用性,同时也方便我们对整体样式进行统一管理和调整。

(二)局部样式

与全局样式相对应,在pages目录下的各个.vue文件中定义的样式则属于局部样式。这些局部样式仅作用于其所在的特定页面,为页面提供个性化的样式设置。

当局部样式与全局样式发生冲突时,UniApp遵循局部优先的原则,即局部样式会覆盖全局样式中相同选择器的定义。例如,在App.vue中定义了按钮的背景颜色为蓝色:

 

button {

background-color: blue;

}

而在pages/index.vue中,我们希望首页的按钮具有不同的背景颜色,如绿色,那么可以在index.vue的样式部分重新定义按钮的背景色:

 

button {

background-color: green;

}

此时,在首页中,按钮将显示为绿色,而其他页面的按钮仍保持App.vue中定义的蓝色,这种覆盖机制使得我们既能享受全局样式带来的便捷,又能在特定页面灵活定制,满足多样化的设计需求。

六、总结与展望

通过本文对UniApp页面布局基础的详细介绍,我们了解了尺寸单位、布局方式、样式设置以及全局与局部样式的相关要点。这些基础知识是构建精美、高效UniApp页面的基石,希望大家能够认真掌握并灵活运用到实际开发中。

在学习过程中,不要害怕犯错,多动手实践,通过不断尝试不同的布局组合、样式设置,才能真正提升自己的开发能力。随着技术的不断发展,UniApp也在持续更新迭代,后续大家可以进一步深入学习其高级特性,如动画效果在布局中的运用、与第三方组件库的深度整合等,打造出更加出色的跨平台应用,为用户带来极致的体验。愿大家在UniApp开发的道路上不断精进,创造出更多令人惊艳的作品。

相关文章:

UniApp 页面布局基础

一、UniApp 页面布局简介 在当今的移动应用开发领域&#xff0c;跨平台开发已成为一种主流趋势。UniApp作为一款极具影响力的跨平台开发框架&#xff0c;凭借其“一套代码&#xff0c;多端运行”的特性&#xff0c;为开发者们提供了极大的便利&#xff0c;显著提升了开发效率。…...

最新的强大的文生视频模型Pyramid Flow 论文阅读及复现

《PYRAMIDAL FLOW MATCHING FOR EFFICIENT VIDEO GENERATIVE MODELING》 论文地址&#xff1a;2410.05954https://arxiv.org/pdf/2410.05954 项目地址&#xff1a; jy0205/Pyramid-Flow&#xff1a; 用于高效视频生成建模的金字塔流匹配代码https://github.com/jy0205/Pyram…...

论文阅读 - 《Large Language Models Are Zero-Shot Time Series Forecasters》

Abstract 通过将时间序列编码为数字组成的字符串&#xff0c;我们可以将时间序列预测当做文本中下一个 token预测的框架。通过开发这种方法&#xff0c;我们发现像GPT-3和LLaMA-2这样的大语言模型在下游任务上可以有零样本时间序列外推能力上持平或者超过专门设计的时间序列训…...

STM32文件详解

STM32文件详解 启动文件打开MDK栈空间开辟堆空间开辟中断向量表复位程序对于 weak 的理解对于_main 函数的分析中断程序堆栈初始化系统启动流程 时钟树时钟源时钟配置函数时钟初始化配置函数 启动文件 启动文件的方式 1、初始化堆栈指针 SP _initial_sp 2、初始化程序计数器指…...

【Spring】详解(上)

Spring 框架核心原理与应用&#xff08;上&#xff09; 一、Spring 框架概述 &#xff08;一&#xff09;诞生背景 随着 Java 应用程序规模的不断扩大以及复杂度的日益提升&#xff0c;传统的 Java开发方式在对象管理、代码耦合度等方面面临诸多挑战。例如&#xff0c;对象之…...

大数据面试笔试宝典之Flink面试

1.Flink 是如何支持批流一体的? F link 通过一个底层引擎同时支持流处理和批处理. 在流处理引擎之上,F link 有以下机制: 1)检查点机制和状态机制:用于实现容错、有状态的处理; 2)水印机制:用于实现事件时钟; 3)窗口和触发器:用于限制计算范围,并定义呈现结果的…...

Rust编程与项目实战-箱

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 对于Rust而言&#xff0c;箱&#xff08;crate&#xff09;是一个独立的可编译单元&…...

git回退指定版本/复制提交id

1.使用“git reset --hard 目标版本号”命令将版本回退2.使用“git push -f”提交更改 因为我们回退后的本地库HEAD指向的版本比远程库的要旧&#xff0c;此时如果用“git push”会报错。 改为使用 git push -f 即可完成回退后的提交。...

数据库锁的深入探讨

数据库锁&#xff08;Database Lock&#xff09;是多用户环境中用于保证数据一致性和隔离性的机制。随着数据库系统的发展&#xff0c;特别是在高并发的场景下&#xff0c;锁的机制变得尤为重要。通过使用锁&#xff0c;数据库能够防止并发操作导致的数据冲突或不一致。本文将深…...

《机器学习》——KNN算法

文章目录 KNN算法简介KNN算法——sklearnsklearn是什么&#xff1f;sklearn 安装sklearn 用法 KNN算法 ——距离公式KNN算法——实例分类问题完整代码——分类问题 回归问题完整代码 ——回归问题 KNN算法简介 一、KNN介绍 全称是k-nearest neighbors&#xff0c;通过寻找k个距…...

iOS开发代码块-OC版

iOS开发代码块-OC版 资源分享资源使用详情Xcode自带代码块自定义代码块 资源分享 自提&#xff1a; 通过网盘分享的文件&#xff1a;CodeSnippets 2.zip 链接: https://pan.baidu.com/s/1Yh8q9PbyeNpuYpasG4IiVg?pwddn1i 提取码: dn1i Xcode中的代码片段默认放在下面的目录中…...

关于在M系列的Mac中使用SoftEtherClient软件

1. 前言 本文说明的是在M系列的苹果的MacBook中如何使用SoftetherClient这款软件&#xff0c;是直接在MacOS操作系统中安装连接使用&#xff0c;不是在PD环境或者非ARM架构的Mac中安装使用。 PS&#xff1a;别费劲百度了&#xff0c;很少有相关解决方案的&#xff0c;在国内会…...

【畅购商城】详情页模块之评论

目录 接口 分析 后端实现&#xff1a;JavaBean 后端实现 前端实现 接口 GET http://localhost:10010/web-service/comments/spu/2?current1&size2 { "code": 20000, "message": "查询成功", "data": { "impressions&q…...

机器学习DAY4续:梯度提升与 XGBoost (完)

本文将通过 XGBoost 框架来实现回归、分类和排序任务&#xff0c;帮助理解和掌握使用 XGBoost 解决实际问题的能力。我们将从基本的数据处理开始&#xff0c;逐步深入到模型训练、评估以及预测。最后&#xff0c;将模型进行保存和加载训练好的模型。 知识点 回归任务分类任务…...

Maven 测试和单元测试介绍

一、测试介绍 二、单元测试 1&#xff09;介绍 2&#xff09;快速入门 添加依赖 <dependencies><!-- junit依赖 --><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.9…...

LeetCode7. 整数反转

难度&#xff1a;中等 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示…...

Java编程题_面向对象和常用API01_B级

Java编程题_面向对象和常用API01_B级 第1题 面向对象、异常、集合、IO 题干: 请编写程序&#xff0c;完成键盘录入学生信息&#xff0c;并计算总分将学生信息与总分一同写入文本文件 需求&#xff1a;键盘录入3个学生信息(姓名,语文成绩,数学成绩) 求出每个学生的总分 ,并…...

WEB攻防-通用漏洞-文件上传-js验证-MIME验证-user.ini-语言特征

目录 定义 1.前端验证 2.MIME验证 3.htaccess文件和.user. ini 4.对内容进行了过滤&#xff0c;做了内容检测 5.[ ]符号过滤 6.内容检测php [] {} ; 7.()也被过滤了 8.反引号也被过滤 9.文件头检测 定义 文件上传漏洞是指攻击者上传了一个可执行文件&#xff08;如木马…...

ubuntu20.04 调试bcache源码

搭建单步调试bcache的环境&#xff0c;/dev/sdb作为backing dev&#xff0c; /dev/sdc作为cache dev。 一、宿主机环境 1&#xff09;安装ubuntu 20.04 &#xff1a; 参考ubuntu20.04 搭建kernel调试环境第一篇--安装系统_ubuntu kernel-CSDN博客安装&#xff0c;其中的第六…...

全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之循环结构(for循环语句)(四)

实战训练1—最大差值 问题描述&#xff1a; 输入n个非负整数&#xff0c;找出这个n整数的最大值与最小值&#xff0c;并求最大值和最小值的差值。 输入格式&#xff1a; 共两行&#xff0c;第一行为整数的个数 n&#xff08;1≤n≤1000)。第二行为n个整数的值&#xff08;整…...

基于深度学习(HyperLPR3框架)的中文车牌识别系统-python程序开发测试

本篇内容为python开发&#xff0c;通过一个python程序&#xff0c;测试搭建的开发环境&#xff0c;读入一张带有车牌号的图片&#xff0c;成功识别出车牌号。 1、通过PyCharm新建一个工程&#xff0c;如&#xff1a;PlateRecognition&#xff0c;配置虚拟环境。 2、在工程中新…...

【SpringMVC】拦截器

拦截器&#xff08;Interceptor&#xff09;是一种用于动态拦截方法调用的机制。在 Spring MVC 中&#xff0c;拦截器能够动态地拦截控制器方法的执行过程。以下是请求发送与接收的基本流程&#xff1a; 当浏览器发出请求时&#xff0c;请求首先到达 Tomcat 服务器。Tomcat 根…...

离线的方式:往Maven的本地仓库里安装依赖

jar文件及源码的绝对路径&#xff0c;gav坐标&#xff0c;打包方式&#xff0c;Maven本地仓库的路径 mvn install:install-file ^-DfileD:\hello-spring-boot-starter-1.0-SNAPSHOT.jar ^-DsourcesD:\hello-spring-boot-starter-1.0-SNAPSHOT-sources.jar ^-DgroupIdcom.examp…...

短视频矩阵系统后端源码搭建实战与技术详解,支持OEM

一、引言 随着短视频行业的蓬勃发展&#xff0c;短视频矩阵系统成为了众多企业和创作者进行多平台内容运营的有力工具。后端作为整个系统的核心支撑&#xff0c;负责处理复杂的业务逻辑、数据存储与交互&#xff0c;其搭建的质量直接影响着系统的性能、稳定性和可扩展性。本文将…...

ArcGIS Pro地形图四至角图经纬度标注与格网标注

今天来看看ArcGIS Pro 如何在地形图上设置四至角点的经纬度。方里网标注。如下图的地形图左下角经纬度标注。 如下图方里网的标注 如下为本期要介绍的例图&#xff0c;如下&#xff1a; 图片可点击放大 接下来我们来介绍一下 推荐学习&#xff1a;GIS入门模型构建器Arcpy批量…...

鸿蒙Next状态管理V2 - @Once初始化用法总结

一、概述 Once装饰器用于实现变量仅在初始化时同步一次外部传入值&#xff0c;后续数据源更改时不会将修改同步给子组件。其必须搭配Param使用&#xff0c;且不影响Param的观测能力&#xff0c;仅拦截数据源变化&#xff0c;与Param装饰变量的先后顺序不影响实际功能&#xff…...

全新免押租赁系统助力商品流通高效安全

内容概要 全新免押租赁系统的推出&#xff0c;可以说是一场商品流通领域的小革命。想象一下&#xff0c;不再为押金烦恼&#xff0c;用户只需通过一个简单的信用评估&#xff0c;就能快速租到所需商品&#xff0c;这种体验简直令人惊喜&#xff01;这个系统利用代扣支付技术&a…...

VUE前端实现防抖节流 Lodash

方法一&#xff1a;采用Lodash工具库 Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。 &#xff08;1&#xff09;采用终端导入Lodash库 $ npm i -g npm $ npm i --save lodash &#xff08;2&#xff09;应用 示例&#xff1a;搜索框输入防抖 在这个示例…...

Redisson 框架详解

目录 一.为什么要使用分布式锁&#xff1f; 二.Redisson 的基本使用&#xff1a; 1.添加 Redisson 依赖&#xff1a; 2.在 application.yml 配置 Redis&#xff1a; 3. 创建 Redisson 客户端&#xff1a; &#xff08;1&#xff09;单节点模式&#xff1a; &#xff08;…...

WebSocket 入门详解

开发领域&#xff1a;前端开发 | AI 应用 | Web3D | 元宇宙 技术栈&#xff1a;JavaScript、React、Three.js、WebGL、Go 经验经验&#xff1a;6年 前端开发经验&#xff0c;专注于图形渲染和AI技术 开源项目&#xff1a;智简未来 晓智元宇宙、数字孪生引擎 大家好&#xff01;…...

chinahrt 题库

只针对 https://ouc-sz.chinahrt.com/center/MyExam import requests import time import random import pandas as pd from openpyxl import load_workbookexcel_file rC:\Users\N3verL4nd\Desktop\exam_answers.xlsx# 定义请求头&#xff0c;包含 Authorization headers {…...

uniapp通过v-if进行判断时,会出现闪屏?【已解决】

1.问题&#xff1a;按钮切换时&#xff0c;通过v-if来判断&#xff0c;会出现闪烁情况&#xff0c;影响用户体验 2.v-if 闪烁问题可能的原因 ‌条件切换频繁‌&#xff1a;如果 v-if 指令的条件在短时间内频繁切换&#xff0c;会导致元素不断被销毁和重新创建&#xff0c;从而…...

jmeter设置tps、响应时间监测时间间隔

jmeter设置tps、响应时间监测时间间隔 思路&#xff1a; 1、设置tps和响应时间插件的采集时间间隔&#xff0c;然后运行jmeter脚本&#xff1b; 2、先按默认配置跑出jtl文件保存下来&#xff0c;再添加tps和响应时间插件&#xff0c;设置采集时间间隔后&#xff0c;导入jtl文件…...

Android Notification 问题:Invalid notification (no valid small icon)

问题描述与处理策略 1、问题描述 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.notifications/com.my.notifications.MainActivity}: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(chan…...

Kotlin 协程基础知识总结四 —— Flow

异步流 Flow 主要内容&#xff1a; 认识&#xff1a;特性、构建器与上下文、启动、取消与取消检测特性、缓冲操作符&#xff1a;过渡操作符、末端操作符、组合、扁平异常&#xff1a;异常处理、完成 1、认识 1.1 如何异步返回多个值 挂起函数可以异步返回单个值&#xff0c…...

Ubuntu24.04安装NVIDIA驱动及工具包

Ubuntu24.04安装NVIDIA驱动及工具包 安装nvidia显卡驱动安装cuda驱动安装cuDNN安装Anaconda 安装nvidia显卡驱动 NVIDIA 驱动程序&#xff08;NVIDIA Driver&#xff09;是专为 NVIDIA 图形处理单元&#xff08;GPU&#xff09;设计的软件&#xff0c;它充当操作系统与硬件之间…...

雷电模拟器安装LSPosed

雷电模拟器最新版支持LSPosed。记录一下安装过程 首先到官网下载并安装最新版&#xff0c;我安装的时候最新版是9.1.34.0&#xff0c;64位 然后开启root和系统文件读写 然后下载magisk-delta-6并安装 ,这个是吾爱破解论坛提供的&#xff0c;号称适配安卓7以上所有机型&#x…...

基于深度学习(HyperLPR3框架)的中文车牌识别系统-搭建开发环境

本篇内容为搭建开发环境。包括&#xff1a;python开发环境&#xff0c;Qt/C开发环境&#xff0c;以及用到的各个库的安装和配置。 一、Python开发环境搭建与配置 1、下载并安装Anaconda 我没有用最新的版本&#xff0c;安装的是 Anaconda3-2021.05-Windows-x86_64.exe&#…...

TCP 为什么采用三次握手和四次挥手以及 TCP 和 UDP 的区别

1. TCP 为什么采用三次握手和四次挥手 采用三次握手的原因&#xff1a; 确认双方的收发能力。第一次握手&#xff0c;客户端发送 SYN 报文&#xff0c;告诉服务器自身具备发送数据的能力&#xff0c;第二次握手&#xff0c;服务器回应 SYN ACK 报文&#xff0c;表名自己既能…...

Apriori关联规则算法 HNUST【数据分析技术】(2025)

1.理论知识 Apriori是一种常用的数据关联规则挖掘方法&#xff0c;它可以用来找出数据集中频繁出现的数据集合。该算法第一次实现在大数据集上的可行的关联规则提取&#xff0c;其核心思想是通过连接产生候选项及其支持度&#xff0c;然后通过剪枝生成频繁项集。 Apriori算法的…...

Sqoop的使用

每个人的生活都是一个世界&#xff0c;即使最平凡的人也要为他那个世界的存在而战斗。 ——《平凡的世界》 目录 一、sqoop简介 1.1 导入流程 1.2 导出流程 二、使用sqoop 2.1 sqoop的常用参数 2.2 连接参数列表 2.3 操作hive表参数 2.4 其它参数 三、sqoop应用 - 导入…...

华为 IPD,究竟有什么特点?(一)

关注作者 &#xff08;一&#xff09;华为版 IPD 特点一&#xff1a;一定要让研发转身为作战 部队 冲到前台的研发&#xff0c;应主动拉通公司上下游&#xff0c;向前抓需求&#xff0c;向后支撑可制造性、可 服务性&#xff0c;并推动制造、服务的改进。 1&#xff09;研发从…...

Go快速开发框架2.6.0版本更新内容快速了解

GoFly企业版框架2.6.0版本更新内容较多&#xff0c;为了大家能够快速了解&#xff0c;本文将把更新内容列出详细讲解。本次更新一段时间以来大伙反馈的问题&#xff0c;并且升级后台安全认证机制&#xff0c;增加了RBAC权限管理及系统操作日志等提升后台数据安全性。 更新明细…...

C++的第一个程序

前言 在学习c之前&#xff0c;你一定还记得c语言的第一个程序 当时刚刚开始进行语言学习 因此告诉到&#xff0c;仅仅需要记住就可以 #include <stdio.h>int main(){printf("Hello World");return 0; }而对于c中的第一个程序&#xff0c;似乎有所变化 C的…...

《机器学习》线性回归模型实现

目录 一、一元线性回归模型 1、数据 2、代码 3、结果 二、多元线性回归模型 1、数据 2、代码 3、结果 一、一元线性回归模型 1、数据 2、代码 # 导入所需的库 import pandas as pd # 用于数据处理和分析 from matplotlib import pyplot as plt # 用于数据可视化 fr…...

蓝桥杯速成教程{三}(adc,i2c,uart)

目录 一、adc 原理图​编辑引脚配置 Adc通道使能配置 实例测试 ​编辑效果显示 案例程序 badc 按键相关函数 测量频率占空比 main 按键的过程 显示界面的过程 二、IIC通信-eeprom 原理图AT24C02 引脚配置 不可用状态&#xff0c;用的软件IIC 官方库移植 At24c02手册 ​编辑…...

【Agent】Chatbot、Copilot与Agent如何帮助我们的提升效率?

人工智能&#xff08;AI&#xff09;技术的迅猛发展正在深刻改变我们的生活和工作方式。你是否曾想过&#xff0c;未来的工作场景会是什么样子&#xff1f;AI的崛起不仅仅是科技的进步&#xff0c;更是我们生活方式的革命。今天&#xff0c;我们将深入探讨三种主要的AI能力&…...

PostgreSQL 数据库连接

title: PostgreSQL 数据库连接 date: 2024/12/29 updated: 2024/12/29 author: cmdragon excerpt: PostgreSQL是一款功能强大的开源关系数据库管理系统,在现代应用中广泛应用于数据存储和管理。连接到数据库是与PostgreSQL进行交互的第一步,这一过程涉及到多个方面,包括连…...

C++ 设计模式:中介者模式(Mediator Pattern)

链接&#xff1a;C 设计模式 链接&#xff1a;C 设计模式 - 门面模式 链接&#xff1a;C 设计模式 - 代理模式 链接&#xff1a;C 设计模式 - 适配器 中介者模式&#xff08;Mediator Pattern&#xff09;是行为型设计模式之一&#xff0c;它的主要目的是通过一个中介者对象来…...

计算机网络期末复习

目录 第一章-概述 第二章-物理层 第三章-数据链路层 第四章-网络层 第五章-运输层 第六章-应用层 试卷 郑州轻工业大学--计算机网络&#xff08;谢希仁-第八版&#xff09;--期末复习重点题型及试卷 如果有答案错乱或者不对的地方请告知一下&#xff0c;感谢&#xff0…...