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-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android: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 会将可绘制对象应用到视图:

<ImageView
    android: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>
        <shape
            android:dither="true"
            android:shape="oval">
            <solid android:color="@color/white" />
            <stroke
                android:width="1dp"
                android:color="@android:color/holo_blue_dark" />
        </shape>
    </item>

    <!--    圆心  -->
    <item
        android:bottom="20dp"
        android:left="20dp"
        android:right="20dp"
        android:top="20dp">
        <shape android:shape="oval">
            <solid android:color="@android:color/holo_blue_dark" />
            <size
                android: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">
        <bitmap
            android:gravity="center"
            android:src="@drawable/slider_color" />
    </item>

    <item android:id="@+id/layer_drawable_2">
        <bitmap
            android:gravity="center"
            android:src="@drawable/slider_border" />
    </item>
</layer-list>

drawable-xhdpi/slider_color :

在这里插入图片描述

drawable-xhdpi/slider_border :

在这里插入图片描述

引用 :

<SeekBar
    android: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() {
    @Override
    public 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));
		//}
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override
    public 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,5
    L368,5
    L368,35
    L0,35
    L0,5">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endX="368"
                android:endY="40"
                android:startX="0"
                android:startY="40"
                android:type="linear">

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

            </gradient>
        </aapt:attr>
    </path>
</vector>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计:基于python机器学习的全国气象数据采集预测可视化系统 预测模型+爬虫(包含文档+源码+部署教程)

[毕业设计]2023-2024年最新最全计算机专业毕设选题推荐汇总 感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;希望帮助更多的人 。 1、摘 要 随着气候变化的不断加剧&#xff0c;气象数据的准确性…

方太集团合同档案管理平台,让数字化成果深度利用、可查可验

数字经济大背景下&#xff0c;方太集团积极拥抱企业数字化转型&#xff0c;推动合同档案业务管理数字化&#xff0c;助力业务档案高效融合&#xff0c;助力企业创新科技发展。 方太集团&#xff08;以下简称“方太”&#xff09;创建于1996年。作为一家以智能厨电为核心业务的…

美国材料与试验协会ASTM发布新版玩具安全标准 ASTM F963-23

美国材料与试验协会ASTM发布新版玩具安全标准 ASTM F963-23 2023年10月13日&#xff0c;美国材料与试验协会&#xff08;ASTM&#xff09;发布了新版玩具安全标准ASTM F963-23 ​根据CPSIA的规定&#xff0c;当ASTM将ASTM F963的拟定修订意见通知CPSC时&#xff0c;若CPSC认为…

SpringDataJpa(三)

七、Specifications动态查询 有时我们在查询某个实体的时候&#xff0c;给定的条件是不固定的&#xff0c;这时就需要动态构建相应的查询语句&#xff0c;在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。 import …

电动汽车多时段动态充电价格及网损策略研究

摘要&#xff1a;电动汽车以无序充电方式接入配电网时与网内基础用电负荷叠加&#xff0c;会形成峰上加峰的现象&#xff0c;不利于配电网的稳定运行。针对上述问题&#xff0c;首先对私家车充电负荷进行建模&#xff0c;采用蒙特卡罗抽样模拟电动汽车无序行为下的充电负荷曲线…

【PostgreSql高阶语法 】1、CASE WHEN THEN END用法

目录 1. 基础描述2. 用法举例2.1 基础使用2.1.1 方式12.1.2 方式 2 2.2 进行分组2.3 分组练习举例 1. 基础描述 目的&#xff1a;在SQL语句中添加判断条件&#xff0c;就要用到CASE WHEN THEN END用法&#xff1a;类似于java里面的switch语句&#xff0c;一组CASE WHEN THEN E…

Harmony 应用开发的知识储备

Harmony 应用开发的知识储备 前言正文一、DevEco Studio版本二、手机版本① 环境变量 三、API版本四、开发语言五、运行调试 前言 这里先说明一点&#xff0c;如果你对Android应用开发很熟悉&#xff0c;那么做Harmony应用开发也可以驾轻就熟&#xff0c;只不过在此之前你需要知…

Gated Context Aggregation Network for Image Dehazing and Deraining(GCANet)

1 总体概述 GCANet是端到端去雾的一篇代表性的文章&#xff0c;它摒弃以往使用手工设计的先验以及大气散射模型的使用&#xff0c;直接通过原始有雾图像估计出无雾图像J与有雾图像I之间的残差&#xff0c;图像恢复阶段直接使用网络输出的残差与输入有雾图像I之间的加和完成去雾…

MyBatis-plus最详细的入门使用教程来了

1.概述 MyBatis-Plus &#xff08;简称 MP&#xff0c;下文就使用简称啦&#xff09;是一个 MyBatis的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。官网地址&#xff1a;https://baomidou.com/ 有以下特性&#xff1a; 无…

modbus-TCP协议详解

modbus-TCP协议详解 1996年施耐德公司推出基于以太网TCP/IP的modbus协议&#xff1a;modbus-TCP。 MODBUS-TCP使MODBUS-RTU协议运行于以太网&#xff0c;MODBUS-TCP使用TCP/IP以太网在站点间传送MODBUS报文&#xff0c;MODBUS-TCP结合了以太网物理网络和网络标准TCP/IP以及以…

春江天玺89㎡三室两厅,现代轻奢丨不止风格更是一种生活态度。福州中宅装饰,福州装修

空间在格局上并没做太多改动&#xff0c;在满足基本的室内功能基础上&#xff0c;用相对简洁的手法来做立面整体的统筹与演绎&#xff0c;在提亮整个空间感的情况下&#xff0c;进行合理的动线分区&#xff0c;提高空间利用率&#xff0c;成为本案的设计要点。 Part 1 在客厅的…

JVM中jhat虚拟机堆转储快照分析工具

jhat虚拟机堆转储快照分析工具 1、jhat jhat也是jdk内置的工具之一。主要是用来分析java堆的命令&#xff0c;可以将堆中的对象以html的形式显示出来&#xff0c;包括对 象的数量&#xff0c;大小等等&#xff0c;并支持对象查询语言。 使用jmap等方法生成java的堆文件后&a…

HHDESK端口转发监控服务

端口转发是一种网络技术&#xff0c;用于将外部网络请求转发到内部网络中的特定设备或服务。它允许通过公共网络访问内部网络中的资源&#xff0c;提供了灵活性和便利性。 传统的端口转发方式是通过配置路由器的端口映射&#xff0c;但这需要具备网络知识和一定的技术操作&…

lesson4-C++内存管理

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 目录 C/C内存分布 C语言中动态内存管理方式 C中动态内存管理 operator new与operator delete函数 new和delete的实现原理 定位new表达式(placement-new) 常见面试题 C/C内存分布 我们先来看一段代码&#xff1a; int…

SpringBoot上传与下载文件

使用SpringBoot的虚拟路径映射。 Config中的类 import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import o…

收单外包机构评级等级为何获D、E级及其影响分析

孟凡富 中国支付清算协会发布2022年度收单外包服务机构评级等级。本次评级工作&#xff0c;共有包括银行和非银行支付机构在内的134家收单机构对13000家外包机构进行了评价&#xff0c;参评外包机构数量较上一年度增长35.59%&#xff0c;评级工作覆盖面继续扩大。评级等级在C级…

中波发射机概述

一、简介 1.1 中波发射机简介 中波发射机是一种用于广播电台传输中波频率信号的设备。它们是广播电台系统的重要组成部分&#xff0c;用于发送声音、音乐和其他信息到广泛的地理区域。中波频率范围一般介于530kHz至1700kHz之间&#xff0c;具有较好的传播性能&#xff0c;可以…

社区街道治安智慧监管方案,AI算法赋能城市基层精细化治理

一、背景需求分析 随着城市建设进程的加快&#xff0c;城市的管理也面临越来越多的挑战。例如&#xff0c;在城市街道的管理场景中&#xff0c;机动车与非机动车违停现象频发、摊贩占道经营影响交通、街道垃圾堆积影响市容市貌等等&#xff0c;都成为社区和街道的管理难点。这…

yo!这里是STL::unordered系列简单模拟实现

目录 前言 相关概念介绍 哈希概念 哈希冲突与哈希函数 闭散列 框架 核心函数 开散列 框架 核心函数 哈希表&#xff08;开散列&#xff09;的修改 迭代器实现 细节修改 unordered系列封装 后记 前言 我们之前了解过map和set知道&#xff0c;map、set的底层结构是…

集合贴4——QA机器人设计与优化

基础课21——知识库管理-CSDN博客文章浏览阅读342次&#xff0c;点赞6次&#xff0c;收藏2次。知识库中有什么信息内容&#xff0c;决定了智能客服机器人在回答时可以调用哪些信息内容&#xff0c;甚至可以更简单地理解为这是智能客服机器人的话术库。https://blog.csdn.net/22…