安卓 jetpack compose

以下是 Jetpack Compose 中常用的一些组件的列表:

组件名称描述
Text用于显示文本内容。
Button可点击的按钮组件,常用于触发事件。
TextField用于输入文本的文本框组件。
Image用于展示图片。
Column垂直布局容器,可以在其中垂直排列子组件。
Row水平布局容器,可以在其中水平排列子组件。
Box用于层叠布局,可以让子组件重叠。
LazyColumn用于显示可滚动的垂直列表,适用于展示大量数据。
LazyRow用于显示可滚动的水平列表,适用于展示大量数据。
Slider滑动条组件,可用于调整数值。
Switch开关组件,用于切换状态。
Checkbox复选框组件,用于表示选中或未选中状态。
RadioButton单选按钮组件,常用于一组选项中选择一个。
Card卡片组件,用于展示相关联的信息,如图文信息。
AlertDialog对话框组件,用于显示警告或提示信息,并可包含操作按钮。
Scaffold提供基本的 Material Design 布局结构,如顶部应用栏、底部导航、抽屉菜单等。
TopAppBar顶部应用栏组件,常用于提供导航和操作。
BottomNavigation底部导航栏组件,用于在不同页面间进行切换。
FloatingActionButton浮动操作按钮,常用于执行主要的应用操作。
Divider分割线组件,用于在视觉上分隔内容。
ProgressIndicator进度指示器组件,用于显示操作的进度。
Spacer用于添加空白间隔的组件,常用于调整布局间距。

演示:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><!--Load images from Unsplash--><uses-permission android:name="android.permission.INTERNET" /><applicationandroid:allowBackup="true"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/Theme.Jetsnack"><profileable android:shell="true" tools:targetApi="q" /><activityandroid:name="com.treevalue.jetsnack.MainActivity"android:theme="@style/Theme.Jetsnack"android:exported="true"android:windowSoftInputMode="adjustResize"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

import androidx.compose.foundation.*
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.graphics.Color
import androidx.compose.material.Typography@Composable
fun MyApplicationTheme(darkTheme: Boolean = isSystemInDarkTheme(),content: @Composable () -> Unit
) {val colors = if (darkTheme) {darkColors(primary = Color(0xFFBB86FC),primaryVariant = Color(0xFF3700B3),secondary = Color(0xFF03DAC6))} else {lightColors(primary = Color(0xFF1EB980),primaryVariant = Color(0xFF045D56),secondary = Color(0xFF03DAC6))}MaterialTheme(colors = colors,typography = Typography(),shapes = Shapes(),content = content)
}import androidx.compose.foundation.*
import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.*
import androidx.compose.ui.graphics.*
import androidx.compose.ui.res.*
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.*
import androidx.compose.foundation.lazy.*
import com.example.jetsnack.R@Composable
fun MyApp() {Column(modifier = Modifier.fillMaxSize().padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally,verticalArrangement = Arrangement.Center) {Greeting(name = "Jetpack Compose")Spacer(modifier = Modifier.height(16.dp))MyButton()Spacer(modifier = Modifier.height(16.dp))MyTextField()Spacer(modifier = Modifier.height(16.dp))MyImage()Spacer(modifier = Modifier.height(16.dp))MyColumn()Spacer(modifier = Modifier.height(16.dp))MyRow()}
}@Preview(showBackground = true)
@Composable
fun DefaultPreview() {MyApp()
}@Composable
fun MyTextField() {var text by remember { mutableStateOf("") }TextField(value = text,onValueChange = { newText -> text = newText },label = { Text(text = "Enter something") })
}@Composable
fun Greeting(name: String) {Text(text = "Hello, $name!")
}@Composable
fun MyButton() {Button(onClick = { /* Do something */ }) {Text(text = "Click Me")}
}@Composable
fun MyColumn() {Column {Text(text = "Item 1")Text(text = "Item 2")Text(text = "Item 3")}
}@Composable
fun MyRow() {Row {Text(text = "Item A")Text(text = "Item B")Text(text = "Item C")}
}@Composable
fun MyImage() {Image(painter = painterResource(id = R.drawable.lyy),contentDescription = "My Image")
}

1. Column(垂直布局)

Column 用于在垂直方向上排列子组件。可以通过 verticalArrangementhorizontalAlignment 控制子组件的排列方式和对齐方式。

@Composable
fun ColumnExample() {Column(modifier = Modifier.padding(16.dp),verticalArrangement = Arrangement.SpaceBetween,horizontalAlignment = Alignment.CenterHorizontally) {Text("First Item")Text("Second Item")Text("Third Item")}
}

2. Row(水平布局)

Row 用于在水平方向上排列子组件。与 Column 类似,Row 也支持 horizontalArrangementverticalAlignment 属性。

@Composable
fun RowExample() {Row(modifier = Modifier.padding(16.dp),horizontalArrangement = Arrangement.SpaceAround,verticalAlignment = Alignment.CenterVertically) {Text("Left")Text("Center")Text("Right")}
}

3. Box(层叠布局)

Box 允许子组件在层叠的形式中存在,可以用来创建重叠的UI效果。

@Composable
fun BoxExample() {Box(modifier = Modifier.size(150.dp).background(Color.LightGray),contentAlignment = Alignment.Center) {Text("Bottom", modifier = Modifier.align(Alignment.BottomCenter))Text("Top", modifier = Modifier.align(Alignment.TopCenter))}
}

4. LazyColumn 和 LazyRow(滚动列表)

LazyColumnLazyRow 类似于 RecyclerView,在展示大量数据时非常有用。

@Composable
fun LazyColumnExample() {LazyColumn {items(100) { index ->Text("Item $index", modifier = Modifier.padding(8.dp))}}
}@Composable
fun LazyRowExample() {LazyRow {items(100) { index ->Text("Item $index", modifier = Modifier.padding(8.dp))}}
}

5. Scaffold(结构布局)

Scaffold 提供了一个基本的 Material Design 布局结构。

@Composable
fun ScaffoldExample() {Scaffold(topBar = { TopAppBar(title = { Text("Scaffold Example") }) },floatingActionButtonPosition = FabPosition.End,floatingActionButton = { FloatingActionButton(onClick = {}) { Icon(Icons.Filled.Add, contentDescription = "Add") } },content = { innerPadding ->Box(modifier = Modifier.padding(innerPadding)) {Text("Content goes here")}})
}

Box 组件的基本用途是允许其子组件以层叠的方式显示。可以通过 modifier 属性控制 Box 的大小、填充、背景色等。

@Composable
fun BasicBoxExample() {Box(modifier = Modifier.size(200.dp).background(Color.Gray),contentAlignment = Alignment.Center) {Text("Centered Text", style = TextStyle(color = Color.White))}
}

子组件定位

Box 中,子组件可以通过 Modifier.align 定位到不同的位置。例如,可以将一个组件定位在底部中心,另一个定位在顶部中心。

@Composable
fun PositionedBoxExample() {Box(modifier = Modifier.size(200.dp).background(Color.LightGray)) {Text("Top Center", Modifier.align(Alignment.TopCenter))Text("Bottom Center", Modifier.align(Alignment.BottomCenter))}
}

使用层叠实现复杂界面

Box 可以用来创建更复杂的界面元素,例如一个图像与一段文字的组合,或是按钮悬浮在图像上方。

@Composable
fun OverlayBoxExample() {Box(modifier = Modifier.size(200.dp).background(Color.DarkGray)) {Image(painter = painterResource(id = R.drawable.image),contentDescription = "Background Image",contentScale = ContentScale.Crop)Text("Overlay Text",style = TextStyle(color = Color.White, fontSize = 16.sp),modifier = Modifier.align(Alignment.BottomStart).padding(8.dp))FloatingActionButton(onClick = { /* Handle click */ },modifier = Modifier.align(Alignment.TopEnd),content = { Icon(Icons.Default.Add, contentDescription = "Add") })}
}

以下是一个简单的示例,演示如何在 Jetpack Compose 中实现弹出菜单。


import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material.Button
import androidx.compose.material.DropdownMenu
import androidx.compose.material.DropdownMenuItem
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.treevalue.jetsnack.ui.theme.MyApplicationThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {MyApplicationTheme {// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colors.background) {PopupMenuDemo()}}}}
}@Composable
fun PopupMenuDemo() {var expanded by remember { mutableStateOf(false) }var selectedItem by remember { mutableStateOf("None") }Column(modifier = Modifier.padding(16.dp)) {Button(onClick = { expanded = true }) {Text(text = "Show Menu")}DropdownMenu(expanded = expanded,onDismissRequest = { expanded = false }) {DropdownMenuItem(onClick = {expanded = falseselectedItem = "Item 1"}) {Text("Item 1")}DropdownMenuItem(onClick = {expanded = falseselectedItem = "Item 2"}) {Text("Item 2")}DropdownMenuItem(onClick = {expanded = falseselectedItem = "Item 3"}) {Text("Item 3")}}Text(text = "Selected: $selectedItem", modifier = Modifier.padding(top = 16.dp))}
}@Preview(showBackground = true)
@Composable
fun DefaultPreview() {MyApplicationTheme {PopupMenuDemo()}
}
  1. Button 和 DropdownMenu:

    • Button 用于触发弹出菜单的显示。
    • DropdownMenu 是实际的弹出菜单组件,expanded 参数控制菜单的显示与隐藏,onDismissRequest 在菜单外点击时触发,用于关闭菜单。
  2. DropdownMenuItem:

    • DropdownMenuItem 定义了菜单中的各个项,点击时会触发对应的操作。
  3. 状态管理:

    • 使用 remembermutableStateOf 来管理菜单的显示状态 (expanded) 以及选中的菜单项 (selectedItem)。

一个简单的响应式网格布局:


import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material.Card
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.Alignment@Composable
fun ResponsiveLayout() {val items = listOf("Item 1", "Item 2", "Item 3", "Item 4")Column(modifier = Modifier.fillMaxSize(),verticalArrangement = Arrangement.Center,horizontalAlignment = Alignment.CenterHorizontally) {LazyColumn {items(items) { item ->Card(modifier = Modifier.padding(8.dp).fillMaxWidth(),elevation = 4.dp) {Text(text = item,modifier = Modifier.padding(16.dp),fontWeight = FontWeight.Bold)}}}}
}@Preview(showBackground = true)
@Composable
fun PreviewResponsiveLayout() {ResponsiveLayout()
}

响应式设计可以使用 BoxWithConstraints 来实现:

@Composable
fun ResponsiveBoxLayout() {BoxWithConstraints {if (maxWidth < 600.dp) {ColumnLayout()} else {RowLayout()}}
}@Composable
fun ColumnLayout() {Column(modifier = Modifier.fillMaxSize(),verticalArrangement = Arrangement.Center,horizontalAlignment = Alignment.CenterHorizontally) {Text(text = "Column Layout", modifier = Modifier.padding(16.dp))}
}@Composable
fun RowLayout() {Row(modifier = Modifier.fillMaxSize(),horizontalArrangement = Arrangement.Center,verticalAlignment = Alignment.CenterVertically) {Text(text = "Row Layout", modifier = Modifier.padding(16.dp))}
}@Preview(showBackground = true)
@Composable
fun PreviewResponsiveBoxLayout() {ResponsiveBoxLayout()
}

使用 Jetpack Compose 实现页面显示和用户动态交互的示例。

1. 创建简单的 UI 和交互


import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.rememberclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {MyApp()}}
}@Composable
fun MyApp() {var count by remember { mutableStateOf(0) }Column(modifier = Modifier.fillMaxSize(),verticalArrangement = Arrangement.Center,horizontalAlignment = Alignment.CenterHorizontally) {Text(text = "Count: $count", style = MaterialTheme.typography.h4)Spacer(modifier = Modifier.height(16.dp))Button(onClick = { count++ }) {Text("Increment")}}
}@Preview(showBackground = true)
@Composable
fun DefaultPreview() {MyApp()
}
  • MainActivity 中的 setContent 方法用于设置 Compose 的内容。
  • MyApp 是主要的 Composable 函数,它包含一个计数器和一个按钮。
  • remembermutableStateOf 用于在状态变化时重新组合 UI。
  • Column 用于垂直排列元素,Spacer 用于增加间距,Button 用于用户交互。

2. 添加更多交互

添加一个文本输入框和显示用户输入的内容:

@Composable
fun MyApp() {var count by remember { mutableStateOf(0) }var text by remember { mutableStateOf("") }Column(modifier = Modifier.fillMaxSize(),verticalArrangement = Arrangement.Center,horizontalAlignment = Alignment.CenterHorizontally) {Text(text = "Count: $count", style = MaterialTheme.typography.h4)Spacer(modifier = Modifier.height(16.dp))Button(onClick = { count++ }) {Text("Increment")}Spacer(modifier = Modifier.height(16.dp))TextField(value = text,onValueChange = { text = it },label = { Text("Enter text") })Spacer(modifier = Modifier.height(16.dp))Text(text = "You typed: $text")}
}

在按钮点击时显示一个弹出菜单:


import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.Button
import androidx.compose.material.DropdownMenu
import androidx.compose.material.DropdownMenuItem
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.treevalue.jetsnack.ui.theme.MyApplicationThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {MyApplicationTheme{// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colors.background) {PopupMenuExample()}}}}
}@Composable
fun PopupMenuExample() {var expanded by remember { mutableStateOf(false) }Column {Button(onClick = { expanded = true }) {Text("Show Menu")}DropdownMenu(expanded = expanded,onDismissRequest = { expanded = false }) {DropdownMenuItem(onClick = { /* Handle action */ }) {Text("Option 1")}DropdownMenuItem(onClick = { /* Handle action */ }) {Text("Option 2")}DropdownMenuItem(onClick = { /* Handle action */ }) {Text("Option 3")}}}
}@Preview(showBackground = true)
@Composable
fun DefaultPreview() {MyApplicationTheme{PopupMenuExample()}
}
  1. MainActivity: 设置Compose的内容,并在主题中包含一个示例组件PopupMenuExample
  2. PopupMenuExample:
    • 使用remembermutableStateOf创建一个expanded状态变量,用于控制菜单的显示状态。
    • 一个按钮点击时设置expandedtrue,显示弹出菜单。
    • DropdownMenu用于创建弹出菜单,当expandedtrue时显示,并在onDismissRequest时将expanded设置为false以关闭菜单。
    • DropdownMenuItem用于定义菜单项及其点击事件。

在 Jetpack Compose 中实现一个向左弹出的菜单:


import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import com.treevalue.jetsnack.ui.theme.MyApplicationThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {MyApp()}}
}@Composable
fun MyApp() {var expanded by remember { mutableStateOf(false) }Box(modifier = Modifier.fillMaxSize().padding(16.dp)) {Text(text = "Click me",modifier = Modifier.clickable { expanded = true }.padding(16.dp))DropdownMenu(expanded = expanded,onDismissRequest = { expanded = false },offset = DpOffset(Dp(-100f), Dp(0f)) // 向左偏移 100 像素) {DropdownMenuItem(content = { Text("Option 1") },onClick = { /* Handle option 1 click */ })DropdownMenuItem(content = { Text("Option 2") },onClick = { /* Handle option 2 click */ })DropdownMenuItem(content = { Text("Option 3") },onClick = { /* Handle option 3 click */ })}}
}@Preview(showBackground = true)
@Composable
fun DefaultPreview() {MyApplicationTheme{MyApp()}
}
  1. MyApp 组合函数定义了一个文本组件 Text,当点击时,会将 expanded 状态设为 true,从而显示下拉菜单。
  2. DropdownMenu 组件的 expanded 参数控制菜单的显示和隐藏,onDismissRequest 参数定义菜单被取消时的处理。
  3. offset 参数使用 IntOffset,其中第一个值为横向偏移量(负值向左偏移),第二个值为纵向偏移量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/34747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac环境 aab包转apks,并安装apks

一、下载下载bundletool工具 Releases google/bundletool GitHub 二、将下载bundletool.jar包、aab、keystore文件全部放到同一个目录下 例如我全部放到download目录下 转换命令行&#xff1a; java -jar bundletool-all-1.16.0.jar build-apks --modeuniversal --bundle…

java运维交接项目逆向工程

​ 背景 有承接过Java项目运维的团队估计都处理过的一件事情&#xff0c;就是同步生产代码跟本地代码&#xff0c;条件再差些甚至要直接基于生产部署包逆向本地源码工程。而哪怕是原运维团队交接了源码&#xff0c;往往也会历史久远的原因&#xff0c;给了一份不太可靠的源码…

MySQL连接

MySQL工具包 MySQL实现简单链接 一 引入工具包 JBDCUtils&#xff0c;无需更改&#xff0c;直接使用即可。 import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties;public class JDBCUtil {private static String URL;p…

基于PHP+MySQL组合开发的在线客服小程序源码系统 带完整的安装代码包以及搭建教程

系统概述 源码系统是专门为满足企业在线客服需求而设计的&#xff0c;它集成了多种功能&#xff0c;能够帮助企业实现与用户的实时沟通、问题解答、信息反馈等。通过该系统&#xff0c;企业可以更好地了解用户需求&#xff0c;提升用户体验&#xff0c;增强用户对企业的信任感…

Java面试题:解释观察者模式的工作原理,并通过实例展示如何在Java中实现

观察者模式&#xff08;Observer Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。当主题对象发生变化时&#xff0c;它的所有依赖者&#xff08;观察者&#xff09;都会收到通知并自动更…

Linux[高级管理]——Squid代理服务器的部署和应用(传统模式详解)

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f468;‍&#x1f4bb;Linux高级管理专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月24日11点11分 &#x1f004;️文章质量&#xff1a;95分 目录 ————前言———— Squid功能 Squ…

LabelEncoder 类属性类方法及用法

类 LabelEncoder类属性及类方法示例用法用于大型数据集 类 LabelEncoder LabelEncoder 是 scikit-learn 中的一个预处理工具&#xff0c;用于将类别变量&#xff08;例如字符串标签或离散的整数标签&#xff09;转换为整数。 类 LabelEncoder 在包 sklearn.preprocessing.Lab…

【JavaEE精炼宝库】多线程进阶(1)常见锁策略 | CAS | ABA问题

目录 一、常见的锁策略&#xff1a; 1.1 悲观锁 | 乐观锁&#xff1a; 1.2 重量级锁 | 轻量级锁&#xff1a; 1.3 自旋锁 | 挂起等待锁&#xff1a; 1.4 公平锁 | 非公平锁&#xff1a; 1.5 可重入锁 | 不可重入锁&#xff1a; 1.6 互斥锁 | 读写锁&#xff1a; 1.7 面…

Spring Boot 集成 MinIO 实现文件上传

Spring Boot 集成 MinIO 实现文件上传 一、 Minio 服务准备 MinIO的搭建过程参考 Docker 搭建 MinIO 对象存储。 登录MinIO控制台&#xff0c;新建一个 Bucket&#xff0c;修改 Bucket 权限为公开。 二、MinIO 集成 添加 MinIO 依赖 <!-- https://mvnrepository.com/ar…

【工具测评】ONLYOFFICE——你的下一款桌面编辑器

文章目录 前言一、安装1.1 跳转官网下载安装包1.2 安装步骤 二、功能介绍2.1 功能全面的 PDF 编辑器2.2 PDF 表单2.3 文本文档编辑器的更新2.4 电子表格编辑器的更新2.5 演示文稿编辑器有哪些更新2.6 所有编辑器中的改进内容2.7 从右至左显示 & 新的本地化选项2.8 可用性提…

查找一个有向网络的头节点和尾节点 (70%用例)C卷(JavaPythonC++Node.jsC语言)

给定一个有向图,图中可能包含有环,有向边用两个节点表示。第一个整数表示起始节点,第二个整数表示终止节点,如0 1表示存在从0到1的路径。每个节点用正整数表示,求这个数据的头节点与尾节点,题目给的用例会是一个头节点,但可能存在多个尾节点。同时,图中可能含有环,如果…

重生奇迹MU整理装备技巧

除了注意一些基本的事项外&#xff0c;还有一些技巧可以帮助我们更快更好地整理装备&#xff0c;提升自己在游戏中的表现。 1. 理性地管理装备是取得胜利的关键。在整理装备时&#xff0c;根据不同的属性和需求&#xff0c;可以将装备分类&#xff0c;比如攻击型、防御型、辅助…

CRMEB 多门店后台登录入口地址修改(默认admin)

一、>2.4版本 1、修改后端 config/admin.php 配置文件,为自定义的后缀 2、修改 平台后台前端源码中 view/admin/src/settings.js 文件,修改为和上面一样的配置 3、修改后重新打包前端代码,并且覆盖到后端的 public 目录下&#xff1a;打包方法 4、重启swoole 二、<2.4版…

深度神经网络中的“深度”概念解析

引言 深度神经网络&#xff08;Deep Neural Networks, DNNs&#xff09;是机器学习领域的一大突破&#xff0c;它们在图像识别、自然语言处理、游戏等领域取得了革命性的进展。DNNs的核心特性之一就是其“深度”&#xff0c;这通常指的是网络中层的数量。本文将深入探讨深度神…

云函数-uniapp + uniCloud 订阅消息实战教程(二)

一、创建uniCloud项目 在 HBuilderX 新建项目界面&#xff0c;选择 uni-app项目&#xff0c;输入项目名称&#xff0c;选择默认模板即可&#xff0c;根据个人需要选择 vue版本&#xff0c;并勾选 启用uniCloud&#xff0c;在右侧选择服务供应商&#xff08;支付宝云、阿里云、…

人机交互中的“测不准原理”

谈及人机交互中的“测不准原理”时&#xff0c;我们所指的并非物理学中量子力学的测不准原理&#xff0c;而是一种借用该概念来描述在人机交互领域中出现的不确定性和不可预测性现象。这种不确定性主要表现在以下几个方面&#xff1a; 用户在与系统交互时的行为和反应可能是难以…

Spring Cloud:构建高可用、分布式系统的现代架构

Spring Cloud是一个开源的微服务框架&#xff0c;旨在帮助开发者快速构建在分布式系统环境中运行的服务。它提供了一系列工具&#xff0c;用于在分布式系统中配置、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等领域的…

再不挖掘就晚了!本周三分之二二区以上 | GBD数据库周报(6.12~6.18)

全球疾病负担&#xff08;GBD&#xff09;是迄今为止规模最大、最全面的一项研究&#xff0c;旨在量化不同地区和不同时期的健康损失&#xff0c;从而改善卫生系统并消除差异。 该研究由华盛顿大学健康指标与评估研究所 (IHME) 牵头&#xff0c;是一项真正的全球性研究&#xf…

Tensorflow入门实战 T06-Vgg16 明星识别

目录 1、前言 2、 完整代码 3、运行过程结果 4、遇到的问题 5、小结 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 1、前言 这周主要是使用VGG16模型&#xff0c;完成明星照片识别。 2、 完整代…

解决uni-popup禁止滚动穿透

解决uni-popup禁止滚动穿透 uni-popup弹窗内内容有滚轮会带动外部页面滚动 在弹框内容页面中修改样式 .list {overflow: auto;height: calc(100% - 280rpx);overscroll-behavior: none;}overscroll-behavior: none; 表示禁止滚动溢出 发现移动遮罩层底部也会跟着变动 则在全…