Android 图层列表 、 LayerDrawable 、 layer-list \ 改变 seekbar thumb 滑块 的颜色

android 官网 : 图层列表 LayerDrawable / layer-list

LayerDrawable 是管理其他可绘制对象数组的可绘制对象。列表中的每个可绘制对象均按照列表顺序绘制。列表中的最后一个可绘制对象绘于顶部。

每个可绘制对象均由单个 <layer-list> 元素内的 <item> 元素表示。

文件位置:

res/drawable/filename.xml

文件名即为资源 ID

编译后的资源数据类型:

指向 LayerDrawable 的资源指针

资源引用:

在 Java 中:R.drawable.filename
在 XML 中:@[package:]drawable/filename

语法:

<?xml version="1.0" encoding="utf-8"?>
<layer-listxmlns:android="http://schemas.android.com/apk/res/android" ><itemandroid:drawable="@[package:]drawable/drawable_resource"android:id="@[+][package:]id/resource_name"android:top="dimension"android:right="dimension"android:bottom="dimension"android:left="dimension" />
</layer-list>

元素:

<layer-list>
必需。该元素必须是根元素。包含一个或多个 <item> 元素。
属性:xmlns:android字符串。必需。定义 XML 命名空间,该命名空间必须为 "http://schemas.android.com/apk/res/android"。<item>
定义放于图层可绘制对象中的可绘制对象,位置由其属性定义。
必须为 <layer-list> 元素的子项。接受子级 <bitmap> 元素。
属性:android:drawable可绘制资源。必需。引用可绘制资源。android:id资源 ID。此可绘制对象的唯一资源 ID。如要为此项创建新的资源 ID,请使用以下形式:"@+id/name"。加号表示其是作为新 ID 创建的。您可以使用此 ID 检索和修改拥有 View.findViewById() 或 Activity.findViewById() 的可绘制对象。android:top尺寸。顶部偏移量,采用尺寸值或尺寸资源的形式。android:right尺寸。右侧偏移量,采用尺寸值或尺寸资源的形式。android:bottom尺寸。底部偏移量,采用尺寸值或尺寸资源的形式。android:left尺寸。左侧偏移量,采用尺寸值或尺寸资源的形式。默认情况下,所有可绘制项都会缩放以适应所包含视图的大小。
因此,将图像放在图层列表中的不同位置可能会增大视图的大小,并且有些图像会相应地缩放。为避免缩放列表中的项,请在 <item> 元素内使用 <bitmap> 元素指定可绘制对象,
并且针对某些不缩放的项(例如 "center")定义重心。
例如,以下 <item> 定义了缩放以适应其容器视图的项:<item android:drawable="@drawable/image" />为避免缩放,以下示例使用重心居中的 <bitmap> 元素:<item><bitmap android:src="@drawable/image"android:gravity="center" />
</item>

示例:

保存在 res/drawable/layers.xml 的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item><bitmap android:src="@drawable/android_red"android:gravity="center" /></item><item android:top="10dp" android:left="10dp"><bitmap android:src="@drawable/android_green"android:gravity="center" /></item><item android:top="20dp" android:left="20dp"><bitmap android:src="@drawable/android_blue"android:gravity="center" /></item>
</layer-list>
此示例使用嵌套的 <bitmap> 元素为每个具有 "center" 重心的项定义可绘制资源。
这可确保不会有图像为适应容器的大小而缩放,因为偏移图像会造成大小调整。

此布局 XML 会将可绘制对象应用到视图:

<ImageViewandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:src="@drawable/layers" />

结果是一堆不断偏移的图像:

在这里插入图片描述

demo1 :

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><!--    圆环  --><item><shapeandroid:dither="true"android:shape="oval"><solid android:color="@color/white" /><strokeandroid:width="1dp"android:color="@android:color/holo_blue_dark" /></shape></item><!--    圆心  --><itemandroid:bottom="20dp"android:left="20dp"android:right="20dp"android:top="20dp"><shape android:shape="oval"><solid android:color="@android:color/holo_blue_dark" /><sizeandroid:width="30dp"android:height="30dp" /></shape></item>
</layer-list>

效果:

在这里插入图片描述

demo2 : 可更新seekbar thumb的颜色

定义 icon_thumb.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@+id/layer_drawable_1"><bitmapandroid:gravity="center"android:src="@drawable/slider_color" /></item><item android:id="@+id/layer_drawable_2"><bitmapandroid:gravity="center"android:src="@drawable/slider_border" /></item>
</layer-list>

drawable-xhdpi/slider_color :

在这里插入图片描述

drawable-xhdpi/slider_border :

在这里插入图片描述

引用 :

<SeekBarandroid:id="@+id/seekbar1"android:layout_width="368dp"android:layout_height="44dp"android:layout_marginVertical="20dp"android:background="@drawable/bg_color127"android:max="126"android:progress="0"android:progressDrawable="@android:color/transparent"android:thumb="@drawable/icon_thumb"android:thumbOffset="23dp" />

改变thumb的图层颜色

注意: 如果单纯改变整个thumb,直接 seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_ATOP); 即可

下面是改变thumb的图层中某层的颜色:

SeekBar seekBar = (SeekBar) this.findViewById(R.id.seekbar1);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {String colorStr = AmbientUtil.COLORS_127[progress];int color = Color.parseColor(colorStr);Drawable thumb = seekBar.getThumb();if (thumb instanceof LayerDrawable) {LayerDrawable thumb1 = (LayerDrawable) thumb;int numberOfLayers = thumb1.getNumberOfLayers();Drawable drawableByLayerId1 = thumb1.findDrawableByLayerId(R.id.layer_drawable_1);drawableByLayerId1.setColorFilter(color, PorterDuff.Mode.SRC_IN);Log.e(TAG, "onProgressChanged: =================" + numberOfLayers);}//int color = Color.parseColor(colorStr);//Drawable thumb = mColorPickerSeekbar.getThumb();//if (thumb instanceof LayerDrawable) {//		LayerDrawable layerDrawable = (LayerDrawable) thumb;//		Drawable drawable = layerDrawable.findDrawableByLayerId(R.id.layer_drawable_1);//		drawable.setColorFilter(new SimpleColorFilter(color));//}}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}
});

效果 :

在这里插入图片描述

在这里插入图片描述

其他:

public class AmbientUtil {public static final String[] COLORS_127 = new String[]{"#FFDF85FF", "#FFD869FF", "#FFD253FF", "#FFD038FF", "#FFB123DD", "#FFA24DD7", "#FF8B4FE3", "#FF8A20F9", "#FF7544D8", "#FF5C39DB","#FF4520E0", "#FF0024EC", "#FF193AFF", "#FF225CFE", "#FF0277F8", "#FF008BFE", "#FF3690FC", "#FF2A99FE", "#FF00A3FE", "#FF02A7FF","#FF19ADFF", "#FF0CB2FC", "#FF04B4F2", "#FF0AB7F3", "#FF03C2EF", "#FF01CFF1", "#FF02D7F4", "#FF02DBFE", "#FF22DFFE", "#FF44E8FE","#FF02F0FC", "#FF01FEFF", "#FF38FFFE", "#FF19FDFE", "#FF01FCFF", "#FF44FBFE", "#FF76FEFE", "#FF90FEFB", "#FF8FFFF4", "#FFA0FFF5","#FF8BFFF9", "#FF75FFFC", "#FF85FFF6", "#FF9DFFF9", "#FFAAFFF0", "#FFAAFFE6", "#FFAAFFDC", "#FFA8FAD0", "#FF96F2C0", "#FF7EF6BA","#FF6EEFB1", "#FF6EEEA1", "#FF32ED96", "#FF2BED7E", "#FF15E658", "#FF18E032", "#FF53F204", "#FF6AFB29", "#FF94FF43", "#FFAAFB68","#FFC0F987", "#FFC8FD8D", "#FFD2FA78", "#FFDFF974", "#FFE6FF74", "#FFF2FF74", "#FFF8FF8D", "#FFFFFD9B", "#FFFDFF96", "#FFFFFC87","#FFFFF596", "#FFFFE28C", "#FFFEE687", "#FFFEF086", "#FFFCF588", "#FFFEFC85", "#FFFFFF82", "#FFFCFA66", "#FFFCFC64", "#FFFCFE4F","#FFFFFC4F", "#FFFCFC55", "#FFFCFA6D", "#FFFFF654", "#FFFEF200", "#FFFAE800", "#FFF2D144", "#FFF1C91E", "#FFF1BD29", "#FFF1B934","#FFF3B34B", "#FFF9A845", "#FFFBA04B", "#FFFB964B", "#FFFB8B4B", "#FFFB864D", "#FFFB7F4E", "#FFFC7B4F", "#FFFB774F", "#FFFF724F","#FFFF6C4E", "#FFFF4B4E", "#FFFF364E", "#FFFF0048", "#FFFF0C52", "#FFFF2563", "#FFFA3871", "#FFF7387A", "#FFFA4B7A", "#FFFF587D","#FFFC6587", "#FFFD718A", "#FFFF8599", "#FFFF9FAF", "#FFFFC9D2", "#FFFFFFFF", "#FFFBFFFF", "#FFF3FEFF", "#FFEBFEFF", "#FFEAFDFF","#FFD9FAFF", "#FFC9F7FF", "#FFB3FAFF", "#FFAEF8FF", "#FF97F5FF", "#FF75F2FF", "#FF65F0FF",};
}

bg_color127 :

<vector xmlns:android="http://schemas.android.com/apk/res/android"xmlns:aapt="http://schemas.android.com/aapt"android:width="368dp"android:height="40dp"android:viewportWidth="368"android:viewportHeight="40"><path android:pathData="M0,5L368,5L368,35L0,35L0,5"><aapt:attr name="android:fillColor"><gradientandroid:endX="368"android:endY="40"android:startX="0"android:startY="40"android:type="linear"><itemandroid:color="#FFDF85FF"android:offset="0.040983606557377046" /><itemandroid:color="#FFD869FF"android:offset="0.048269581056466296" /><itemandroid:color="#FFD253FF"android:offset="0.05555555555555555" /><itemandroid:color="#FFD038FF"android:offset="0.06284153005464481" /><itemandroid:color="#FFB123DD"android:offset="0.07012750455373407" /><itemandroid:color="#FFA24DD7"android:offset="0.07741347905282331" /><itemandroid:color="#FF8B4FE3"android:offset="0.08469945355191257" /><itemandroid:color="#FF8A20F9"android:offset="0.09198542805100182" /><itemandroid:color="#FF7544D8"android:offset="0.09927140255009106" /><itemandroid:color="#FF5C39DB"android:offset="0.10655737704918034" /><itemandroid:color="#FF4520E0"android:offset="0.11384335154826958" /><itemandroid:color="#FF0024EC"android:offset="0.12112932604735882" /><itemandroid:color="#FF193AFF"android:offset="0.1284153005464481" /><itemandroid:color="#FF225CFE"android:offset="0.13570127504553733" /><itemandroid:color="#FF0277F8"android:offset="0.14298724954462658" /><itemandroid:color="#FF008BFE"android:offset="0.15027322404371585" /><itemandroid:color="#FF3690FC"android:offset="0.1575591985428051" /><itemandroid:color="#FF2A99FE"android:offset="0.16484517304189436" /><itemandroid:color="#FF00A3FE"android:offset="0.1721311475409836" /><itemandroid:color="#FF02A7FF"android:offset="0.17941712204007285" /><itemandroid:color="#FF19ADFF"android:offset="0.18670309653916212" /><itemandroid:color="#FF0CB2FC"android:offset="0.19398907103825136" /><itemandroid:color="#FF04B4F2"android:offset="0.2012750455373406" /><itemandroid:color="#FF0AB7F3"android:offset="0.20856102003642987" /><itemandroid:color="#FF03C2EF"android:offset="0.21584699453551912" /><itemandroid:color="#FF01CFF1"android:offset="0.22313296903460836" /><itemandroid:color="#FF02D7F4"android:offset="0.23041894353369763" /><itemandroid:color="#FF02DBFE"android:offset="0.23770491803278687" /><itemandroid:color="#FF22DFFE"android:offset="0.24499089253187611" /><itemandroid:color="#FF44E8FE"android:offset="0.2522768670309654" /><itemandroid:color="#FF02F0FC"android:offset="0.25956284153005466" /><itemandroid:color="#FF01FEFF"android:offset="0.2668488160291439" /><itemandroid:color="#FF38FFFE"android:offset="0.27413479052823314" /><itemandroid:color="#FF19FDFE"android:offset="0.2814207650273224" /><itemandroid:color="#FF01FCFF"android:offset="0.2887067395264117" /><itemandroid:color="#FF44FBFE"android:offset="0.2959927140255009" /><itemandroid:color="#FF76FEFE"android:offset="0.30327868852459017" /><itemandroid:color="#FF90FEFB"android:offset="0.3105646630236794" /><itemandroid:color="#FF8FFFF4"android:offset="0.31785063752276865" /><itemandroid:color="#FFA0FFF5"android:offset="0.3251366120218579" /><itemandroid:color="#FF8BFFF9"android:offset="0.3324225865209472" /><itemandroid:color="#FF75FFFC"android:offset="0.33970856102003644" /><itemandroid:color="#FF85FFF6"android:offset="0.3469945355191257" /><itemandroid:color="#FF9DFFF9"android:offset="0.3542805100182149" /><itemandroid:color="#FFAAFFF0"android:offset="0.36156648451730417" /><itemandroid:color="#FFAAFFE6"android:offset="0.3688524590163934" /><itemandroid:color="#FFAAFFDC"android:offset="0.3761384335154827" /><itemandroid:color="#FFA8FAD0"android:offset="0.38342440801457195" /><itemandroid:color="#FF96F2C0"android:offset="0.3907103825136612" /><itemandroid:color="#FF7EF6BA"android:offset="0.39799635701275043" /><itemandroid:color="#FF6EEFB1"android:offset="0.4052823315118397" /><itemandroid:color="#FF6EEEA1"android:offset="0.412568306010929" /><itemandroid:color="#FF32ED96"android:offset="0.4198542805100182" /><itemandroid:color="#FF2BED7E"android:offset="0.42714025500910746" /><itemandroid:color="#FF15E658"android:offset="0.4344262295081967" /><itemandroid:color="#FF18E032"android:offset="0.44171220400728595" /><itemandroid:color="#FF53F204"android:offset="0.4489981785063752" /><itemandroid:color="#FF6AFB29"android:offset="0.4562841530054645" /><itemandroid:color="#FF94FF43"android:offset="0.46357012750455373" /><itemandroid:color="#FFAAFB68"android:offset="0.470856102003643" /><itemandroid:color="#FFC0F987"android:offset="0.4781420765027322" /><itemandroid:color="#FFC8FD8D"android:offset="0.48542805100182146" /><itemandroid:color="#FFD2FA78"android:offset="0.49271402550091076" /><itemandroid:color="#FFDFF974"android:offset="0.5" /><itemandroid:color="#FFE6FF74"android:offset="0.5072859744990893" /><itemandroid:color="#FFF2FF74"android:offset="0.5145719489981785" /><itemandroid:color="#FFF8FF8D"android:offset="0.5218579234972678" /><itemandroid:color="#FFFFFD9B"android:offset="0.5291438979963571" /><itemandroid:color="#FFFDFF96"android:offset="0.5364298724954463" /><itemandroid:color="#FFFFFC87"android:offset="0.5437158469945356" /><itemandroid:color="#FFFFF596"android:offset="0.5510018214936249" /><itemandroid:color="#FFFFE28C"android:offset="0.558287795992714" /><itemandroid:color="#FFFEE687"android:offset="0.5655737704918034" /><itemandroid:color="#FFFEF086"android:offset="0.5728597449908925" /><itemandroid:color="#FFFCF588"android:offset="0.5801457194899818" /><itemandroid:color="#FFFEFC85"android:offset="0.5874316939890711" /><itemandroid:color="#FFFFFF82"android:offset="0.5947176684881603" /><itemandroid:color="#FFFCFA66"android:offset="0.6020036429872496" /><itemandroid:color="#FFFCFC64"android:offset="0.6092896174863388" /><itemandroid:color="#FFFCFE4F"android:offset="0.6165755919854281" /><itemandroid:color="#FFFFFC4F"android:offset="0.6238615664845174" /><itemandroid:color="#FFFCFC55"android:offset="0.6311475409836066" /><itemandroid:color="#FFFCFA6D"android:offset="0.6384335154826959" /><itemandroid:color="#FFFFF654"android:offset="0.6457194899817851" /><itemandroid:color="#FFFEF200"android:offset="0.6530054644808744" /><itemandroid:color="#FFFAE800"android:offset="0.6602914389799636" /><itemandroid:color="#FFF2D144"android:offset="0.6675774134790529" /><itemandroid:color="#FFF1C91E"android:offset="0.6748633879781422" /><itemandroid:color="#FFF1BD29"android:offset="0.6821493624772313" /><itemandroid:color="#FFF1B934"android:offset="0.6894353369763206" /><itemandroid:color="#FFF3B34B"android:offset="0.6967213114754098" /><itemandroid:color="#FFF9A845"android:offset="0.7040072859744991" /><itemandroid:color="#FFFBA04B"android:offset="0.7112932604735884" /><itemandroid:color="#FFFB964B"android:offset="0.7185792349726776" /><itemandroid:color="#FFFB8B4B"android:offset="0.7258652094717669" /><itemandroid:color="#FFFB864D"android:offset="0.7331511839708561" /><itemandroid:color="#FFFB7F4E"android:offset="0.7404371584699454" /><itemandroid:color="#FFFC7B4F"android:offset="0.7477231329690347" /><itemandroid:color="#FFFB774F"android:offset="0.7550091074681239" /><itemandroid:color="#FFFF724F"android:offset="0.7622950819672132" /><itemandroid:color="#FFFF6C4E"android:offset="0.7695810564663024" /><itemandroid:color="#FFFF4B4E"android:offset="0.7768670309653917" /><itemandroid:color="#FFFF364E"android:offset="0.784153005464481" /><itemandroid:color="#FFFF0048"android:offset="0.7914389799635702" /><itemandroid:color="#FFFF0C52"android:offset="0.7987249544626595" /><itemandroid:color="#FFFF2563"android:offset="0.8060109289617486" /><itemandroid:color="#FFFA3871"android:offset="0.8132969034608379" /><itemandroid:color="#FFF7387A"android:offset="0.8205828779599272" /><itemandroid:color="#FFFA4B7A"android:offset="0.8278688524590164" /><itemandroid:color="#FFFF587D"android:offset="0.8351548269581057" /><itemandroid:color="#FFFC6587"android:offset="0.8424408014571949" /><itemandroid:color="#FFFD718A"android:offset="0.8497267759562842" /><itemandroid:color="#FFFF8599"android:offset="0.8570127504553734" /><itemandroid:color="#FFFF9FAF"android:offset="0.8642987249544627" /><itemandroid:color="#FFFFC9D2"android:offset="0.871584699453552" /><itemandroid:color="#FFFFFFFF"android:offset="0.8788706739526412" /><itemandroid:color="#FFFBFFFF"android:offset="0.8861566484517305" /><itemandroid:color="#FFF3FEFF"android:offset="0.8934426229508197" /><itemandroid:color="#FFEBFEFF"android:offset="0.900728597449909" /><itemandroid:color="#FFEAFDFF"android:offset="0.9080145719489983" /><itemandroid:color="#FFD9FAFF"android:offset="0.9153005464480874" /><itemandroid:color="#FFC9F7FF"android:offset="0.9225865209471767" /><itemandroid:color="#FFB3FAFF"android:offset="0.9298724954462659" /><itemandroid:color="#FFAEF8FF"android:offset="0.9371584699453552" /><itemandroid:color="#FF97F5FF"android:offset="0.9444444444444445" /><itemandroid:color="#FF75F2FF"android:offset="0.9517304189435337" /><itemandroid:color="#FF65F0FF"android:offset="0.959016393442623" /></gradient></aapt:attr></path>
</vector>

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

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

相关文章

【服务发现与配置】Consul特性及搭建

文章目录 一、前言二、概念2.1、什么是Consul&#xff1f;2.2、Consul具有哪些特点?2.3、Consul 架构图2.4、Consul的使用场景 三、安装3.1. 下载3.2. 解压3.3. 拷贝到usr目录下3.4. 查看 安装是否成功3.5. 启动 四、Consul 开机自启动4.1. 路径/usr/lib/systemd/system/&…

前端开发项目中使用字体库

开发中有些项目要求使用固定的字体&#xff0c;这就需要项目中使用字体库。 首先需要下载字体库 将下载的字体文件放进项目中 在项目代码样式文件中定义字体 font-face {font-family: "Tobias-SemiBold";src: url("./assets/font/Tobias-SemiBold.ttf"…

vscode因为大文件而无限崩溃的问题,窗口意外终止(原因:“oom“,代码:“-536870904“

复制了一大堆的代码&#xff08;好几兆&#xff09;到一个文件里&#xff0c;然后就导致 vscode 卡死&#xff0c; 之后就算把该文件删掉了&#xff0c;打开vscode还是会默认打开该文件而卡死 解决办法&#xff1a; win R 输入 %appdata%/code/ 删除该文件夹下的 backups/ 文件…

OpenCV 实现透视变换

一&#xff1a;OpenCV透视变换的概念 仿射变换(affine transform)与透视变换(perspective transform)在图像还原、图像局部变化处理方面有重要意义。通常&#xff0c;在2D平面中&#xff0c;仿射变换的应用较多&#xff0c;而在3D平面中&#xff0c;透视变换又有了自己的一席之…

ESP32 Arduino引脚分配参考:您应该使用哪些 GPIO 引脚?

ESP32 芯片有 48 个引脚&#xff0c;具有多种功能。并非所有 ESP32 开发板中的所有引脚都暴露出来&#xff0c;有些引脚无法使用。 关于如何使用 ESP32 GPIO 有很多问题。您应该使用什么引脚&#xff1f;您应该避免在项目中使用哪些引脚&#xff1f;这篇文章旨在成为 ESP32 GP…

【2023.11.6】OpenAI发布会——近期chatgpt被攻击,不能使用

OpenAI发布会 写在最前面发布会内容GPT-4 Turbo 具有 128K 上下文函数调用更新改进了指令遵循和 JSON 模式可重现的输出和对数概率更新了 GPT-3.5 Turbo 助手 API、检索和代码解释器API 中的新模式GPT-4 Turbo 带视觉DALLE 3文字转语音 &#xff08;TTS&#xff09;收听语音样本…

数列计算

题目描述 有一列数是 : 请找出这个数列的规律&#xff0c;编写程序计算并输出这个数列的第项&#xff0c;要求是分数形式&#xff0c;并计算这个数列的前项和 ( 结果四舍五入保留两位小数 ) 输入格式 第一行仅有一个正整数 &#xff08;) 。 输出格式 共有 行&#xff0c;第一…

链表经典面试题之二

今天我们做一道环形链表的题目力扣141题https://leetcode.cn/problems/linked-list-cycle/ 这道题让我们分析链表中是否存环&#xff0c;存在的话返回true&#xff0c;不存在返回false。首先看到这道题我们要捋顺思路&#xff0c;怎么才能达到它要的效果&#xff1f;要找出是否…

Vmware虚拟机重装 虚拟机能ping通主机,而主机不能ping通虚拟机的问题

CClean&#xff0c;用它把你电脑上已经卸载的软件但是注册表还没删干净的把注册表删干净&#xff0c;之前说的那种情况&#xff08;虚拟网络编辑器打不上勾&#xff09;就迎刃而解了。 Ps&#xff1a;CClean&#xff1a;再网上百度就可以查到&#xff0c;软件对用户也很友好&a…

C++--二叉树经典例题

本文&#xff0c;我们主要讲解一些适合用C的数据结构来求解的二叉树问题&#xff0c;其中涉及了二叉树的遍历&#xff0c;栈和队列等数据结构&#xff0c;递归与回溯等知识&#xff0c;希望可以帮助你进一步理解二叉树。 目录​​​​​​​ 1.二叉树的层序遍历 2.二叉树的公…

记录第一次

1.看接口 看控制台 报错吗&#xff1f; 控制台 空指针报错 前端控制台 2.找报错 看哪里报的错误&#xff0c;控制台的错误&#xff08;空指针报错&#xff09; 错误问题&#xff1a; 3.分析业务 业务问题 一定要问&#xff0c; 4. 找到出错点

设计模式之模版方法(TemplateMethod)

模版方法 钩子函数 回调函数 在父类里面有一个模版方法&#xff0c;在这个方法里面调用了op1&#xff0c;op2&#xff0c;op3… 在子类里面如果想要改变父类的op1和op2 只需要重写op1和op2&#xff0c;那么这个重写之后的方法&#xff0c;可以在父类里面直接调用的到 例子: J…

Postman小白安装和注册入门教程

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 一&#xff09;安装 访问官网https://www.getpostman.com/downloads/&#xff0c;直接下载安装。 二&#xff09;注册和登录…

【C/C++底层】内存分配:栈区(Stack)与堆区(Heap)

/*** poject * author jUicE_g2R(qq:3406291309)* file 底层内存分配&#xff1a;栈区(Stack)与堆区(Heap)* * language C/C* EDA Base on MVS2022* editor Obsidian&#xff08;黑曜石笔记软件&#xff09;* * copyright 2023* COPYRIGHT …

千万富翁分享:消费多少免单多少,电商运营高手实战秘籍拆解

千万富翁分享&#xff1a;消费多少免单多少&#xff0c;电商运营高手实战秘籍拆解 后疫情时代&#xff0c;国内电商圈层进程依然是在高速发展阶段&#xff0c;今年2023年双十一也彻底落下帷幕&#xff0c;但这次相较于往常却没有公布具体的成交规模数据&#xff0c;那么&#x…

国产双核DSP与 TI 的TMS320F28377 大PK

国产DSP&#xff0c;QX320F28377与 TI的 TMS320F28377 孰强孰弱

Redis的特性以及使用场景

分布式发展历程参考 陈佬 http://t.csdnimg.cn/yYtWK 介绍redis Redis&#xff08;Remote Dictionary Server&#xff09;是一个基于客户端-服务器架构的在内存中存储数据的中间件&#xff0c;属于NoSQL的一种。它可以用作数据库、缓存/会话存储以及消息队列。 作为一种内存数…

思维导图软件 Xmind mac中文版软件特点

XMind mac是一款思维导图软件&#xff0c;可以帮助用户创建各种类型的思维导图和概念图。 XMind mac软件特点 - 多样化的导图类型&#xff1a;XMind提供了多种类型的导图&#xff0c;如鱼骨图、树形图、机构图等&#xff0c;可以满足不同用户的需求。 - 强大的功能和工具&#…

C++学习---信号处理机制、中断、异步环境

文章目录 前言信号处理signal()函数关于异步环境 信号处理函数示例raise()函数 前言 信号处理 关于信号&#xff0c;信号是一种进程间通信的机制&#xff0c;用于在程序执行过程中通知进程发生了一些事件。在Unix和类Unix系统中&#xff0c;信号是一种异步通知机制&#xff0c…

Kibana使用Watcher监控服务日志并发送飞书报警(Markdown)

Watcher是什么 Kibana Watcher 是 Elasticsearch 的监控和告警工具&#xff0c;它允许你设置和管理告警规则以监控 Elasticsearch 数据和集群的状态。Kibana Watcher 可以监测各种指标和数据&#xff0c;然后在满足特定条件时触发警报。它提供了一种强大的方式来实时监控 Elas…