安卓约束性布局学习

news2024/11/27 14:30:42

据说这个布局是为了解决各种布局过度前套导致代码复杂的问题的。

我想按照自己想实现的各种效果来逐步学习,那么直接拿微信主页来练手,用约束性布局实现微信首页吧。

先上图

先实现顶部搜索框+加号按钮

先实现 在布局中添加一个组件,然后摆放到屏幕的任意位置!!!!!!

1、放个文本标签TextView在布局组开始的位置:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:ignore="HardcodedText" />


</androidx.constraintlayout.widget.ConstraintLayout>

效果:

要理解这句代码:

app:layout_constraintTop_toTopOf="parent"

只要理解了这句话,你就一定可以很自信的往下学习了,这句代码的意思:

子控件的顶部与父容器的顶部对齐

理解了上面这句代码,那么后面的那句:

app:layout_constraintLeft_toLeftOf="parent"

很显然就是:子控件本身的左边与父容器的左边对其。

那么我们好奇,假如是控件与控件之间是不是也可以用这种办法呢?

那么我们实践一下,我们在控件下方新增一个控件,那么代码是不是应该是

新控件的顶部和控件的底部对其,然后新控件的左边和控件的左边对其,我们试试:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:ignore="HardcodedText" />


    <TextView
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toBottomOf="@id/textView1"
        app:layout_constraintLeft_toLeftOf="@id/textView1"
        tools:ignore="HardcodedText" />
    


</androidx.constraintlayout.widget.ConstraintLayout>

代码写好,运行看效果:

我们太厉害了,真的实现了!!!!!!!

那我们又🈶️新问题了:怎么让两个控件相交呢?有趣的问题!

嗯.......用外边距来控制怎么样?

试试:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:ignore="HardcodedText" />


    <TextView
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#F44336"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toBottomOf="@id/textView1"
        app:layout_constraintLeft_toLeftOf="@id/textView1"
        android:layout_marginBottom="40dp"
        tools:ignore="HardcodedText" />



</androidx.constraintlayout.widget.ConstraintLayout>

看看效果:

捂脸....没用!!那两句限制住了!这就是约束性布局啊,牛!

再想想:

要两个控件相交,我们拖动试试代码是啥!!

哈哈哈,拖动没办法让他们相交,哈哈哈哈哈哈,笑死了。

看看AI怎么说:

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="First TextView"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:padding="16dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button Overlapping"
        app:layout_constraintTop_toTopOf="@id/textView1"
        app:layout_constraintStart_toStartOf="@id/textView1"
        android:padding="16dp" />

</androidx.constraintlayout.widget.ConstraintLayout>

试试Ai的代码:可以!!还是那两句起的作用,就是新控件跑到控件内部去了(相对于约束),然后用外边距调整相交的位置就ok了。

以上看完希望你能很清楚的了解约束性布局的基本用法。

上面我们实现了将一个控件放置在开始位置,那加入放在开始位置的往后移动一段距离呢?

刚好,用控件的外边距:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:layout_marginLeft="60dp"
        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:ignore="HardcodedText" />






</androidx.constraintlayout.widget.ConstraintLayout>

嘿嘿,这张图看得出来吗,不是模拟器,是design 视图,这样省时间!!!

同样的,我们要实现控件在顶部下方一丢丢呢,那就:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:layout_marginTop="60dp"
        android:layout_marginLeft="60dp"
        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:ignore="HardcodedText" />






</androidx.constraintlayout.widget.ConstraintLayout>

看效果:

嘿嘿,那么要把控件放到底部呢?那就是这样的控件底部和控件底部对齐了:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView

        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:ignore="HardcodedText" />






</androidx.constraintlayout.widget.ConstraintLayout>

看效果:

要让它在左边垂直居中怎么办呢?这样:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView

        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
     
        app:layout_constraintTop_toTopOf="parent"

        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:ignore="HardcodedText" />






</androidx.constraintlayout.widget.ConstraintLayout>

看效果:

加了句底部和底部对其就实现了。

那么还要水平居中是不是价格表右边和右边也对齐就行了?试试吧:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView

        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="60dp"
        android:background="#D6E1AA"
        android:text="textview1"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        tools:ignore="HardcodedText" />






</androidx.constraintlayout.widget.ConstraintLayout>

真的真的!!!,看效果:

不错不错,学会了好多,基本就这样了呗,咱们学会了!!快去动手实践吧!!!

学会的点个赞???哈哈哈哈哈哈,下课!!!

等一下,忘了实现微信首页了,😂。

来,上图:

step 1:实现顶部搜索框 和 加号按钮:

这部分看似简单,其实一点也不难!!!!😄

上代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:paddingRight="20dp"
    android:paddingLeft="20dp"
    android:paddingTop="20dp"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:drawableStart="@drawable/search"  
        android:paddingStart="16dp" 
        android:id="@+id/input"
        android:layout_width="0dp"
        android:layout_height="55dp"
        android:hint="搜索"
        android:inputType="text"

        android:background="@drawable/rounded_edittext"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button"
        app:layout_constraintWidth_percent="0.8"
        tools:ignore="MissingConstraints" />

    <androidx.appcompat.widget.LinearLayoutCompat
        android:id="@+id/button"
        android:layout_width="55dp"
        android:layout_height="55dp"
        android:background="@drawable/rounded_edittext"
        android:gravity="center"
        app:layout_constraintTop_toTopOf="@id/input"
        app:layout_constraintStart_toEndOf="@id/input"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintWidth_percent="0.2"
        tools:ignore="MissingConstraints">

        <ImageButton
            android:background="@color/my_gray"
            android:src="@drawable/add"
            android:layout_width="48dp"
            
            android:layout_height="48dp"/>

    </androidx.appcompat.widget.LinearLayoutCompat>

</androidx.constraintlayout.widget.ConstraintLayout>

看效果:

下面的就是聊天列表了,我们来实现一个item就行了,关于列表怎么实现今天就不学了。


这个看似简单,其实一点也不难:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:paddingRight="20dp"
    android:paddingLeft="20dp"
    android:paddingTop="20dp"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:drawableStart="@drawable/search"
        android:paddingStart="16dp"
        android:id="@+id/input"
        android:layout_width="0dp"
        android:layout_height="55dp"
        android:hint="搜索"

        android:inputType="text"


        android:background="@drawable/rounded_edittext"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button"
        app:layout_constraintWidth_percent="0.8"
        tools:ignore="MissingConstraints" />

    <androidx.appcompat.widget.LinearLayoutCompat
        android:id="@+id/button"
        android:layout_width="55dp"
        android:layout_height="55dp"
        android:background="@drawable/rounded_edittext"
        android:gravity="center"
        app:layout_constraintTop_toTopOf="@id/input"
        app:layout_constraintStart_toEndOf="@id/input"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintWidth_percent="0.2"
        tools:ignore="MissingConstraints">

        <ImageButton
            android:background="@color/my_gray"
            android:src="@drawable/add"
            android:layout_width="48dp"

            android:layout_height="48dp"/>

    </androidx.appcompat.widget.LinearLayoutCompat>



    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_marginTop="20dp"
        android:layout_height="80dp"
        android:background="@color/my_gray"
        app:layout_constraintTop_toBottomOf="@+id/input"
        app:layout_constraintLeft_toLeftOf="@id/input"
        >
        <!--头像-->
        <ImageView
            android:id="@+id/head_image"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            android:src="@drawable/head_image"
            android:layout_width="60dp"
            android:layout_height="60dp"/>

        <!--昵称-->
        <TextView
            android:id="@+id/nickname"
            app:layout_constraintLeft_toRightOf="@+id/head_image"
            android:layout_width="wrap_content"
            android:text="王"
            android:textColor="@color/black"
            android:textSize="20sp"
            android:layout_marginLeft="10dp"
            app:layout_constraintTop_toTopOf="@+id/head_image"
            android:layout_height="wrap_content"/>


        <!--聊天记录-->
        <TextView
            app:layout_constraintLeft_toRightOf="@+id/head_image"
            android:layout_width="wrap_content"
            android:text="老王在干嘛呢?"
            android:layout_marginLeft="10dp"
            app:layout_constraintBottom_toBottomOf="@id/head_image"
            android:layout_height="wrap_content"/>


        <!--时间-->
        <TextView
            android:layout_marginTop="10dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            android:text="2024-06-07"
            android:layout_marginRight="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>


    </androidx.constraintlayout.widget.ConstraintLayout>



</androidx.constraintlayout.widget.ConstraintLayout>

ok,结束,这么带劲的文章怎么也得有10个赞吧?

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

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

相关文章

java web:springboot mysql开发的一套家政预约上门服务系统源码:家政上门服务系统的运行流程

java web&#xff1a;springboot mysql开发的一套家政预约上门服务系统源码&#xff1a;家政上门服务系统的运行流程 家政上门服务系统的优势 服务质量更稳定&#xff1a;由专业的家政人员提供服务&#xff0c;经过严格的培训和筛选。 价格更透明&#xff1a;采用套餐式收费&…

java的核心机制:JVM

JVM&#xff08;java virtual machine&#xff0c;java虚拟机&#xff09;&#xff1a;是一个虚拟的计算机&#xff0c;是java程序的运行环境。JVM具有指令集并使用不同的存储区域&#xff0c;负责执行指令&#xff0c;管理数据、内存、寄存器。 JVM功能1&#xff1a;实现java程…

以sqlilabs靶场为例,讲解SQL注入攻击原理【54-65关】

【Less-54】 与前面的题目不同是&#xff0c;这里只能提交10次&#xff0c;一旦提交超过十次&#xff0c;数据会重新刷新&#xff0c;所有的步骤需要重来一次。 解题步骤&#xff1a; 根据测试&#xff0c;使用的是单引号闭合。 # 判断字段的数量 ?id1 order by 3 -- aaa# …

力扣 有效的括号 栈

Problem: 20. 有效的括号 文章目录 思路复杂度&#x1f49d; Code 思路 &#x1f468;‍&#x1f3eb; 参考地址 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f49d; Code class Solution {static Map<Character, Character> m…

香橙派 Orange AIpro 测评记录视频硬件解码

香橙派 Orange AIpro 测评记录视频硬件解码 香橙派官网&#xff1a;http://www.orangepi.cn/ 收到了一块Orange Pi AIpro开发板&#xff0c;记录一下我的测评~测评简介如下&#xff1a;1.连接网络2.安装流媒体进行硬件解码测试3.安装IO测试 简介 Orange Pi AI Pro 是香橙派联合…

i.MX8MP平台开发分享(RDC软件配置篇)

Uboot中已经将RDC的配置写入到了OCRAM中&#xff0c;NXP在ATF中预设了SIP服务&#xff0c;SIP服务下有厂商自定义的smc命令ID。例如下面的DDR、GPC、SRC和HAB的smc回调函数。 在SRC中断处理函数中&#xff0c;对于SRC_M4_START指令&#xff0c;先读取OCRAM中的配置&#xff0c;…

web-上传项目文件夹到Git远程仓库

Git初识 概念&#xff1a;一个免费开源&#xff0c;分布式的代码版本控制系统&#xff0c;帮助开发团队维护代码 作用&#xff1a;记录代码内容&#xff0c;切换代码版本&#xff0c;多人开发时高效合并代码内容 检验成功 打开bash终端&#xff08;git专用&#xff09;命令…

中缀表达式和前缀后缀

在中缀表达式中&#xff0c;操作数可能与两个操作符相结合 但是&#xff0c;想要不带括号无歧义&#xff0c;且不需要考虑运算符优先级和结合性 所以考虑 前缀表达式&#xff0c;波兰表达式 后缀表达式 逆波兰表达式 对于人来说&#xff0c;中缀表达式是最容易读懂的。但是对于…

数据库存储过程和锁机制

存储过程 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的&#xff0c;存储过程思想上很简单,就是数据库SQL语言层面的代码封装与有重用 …

Django框架中级

Django框架中级 – 潘登同学的WEB框架 文章目录 Django框架中级 -- 潘登同学的WEB框架 中间件自定义中间件常用中间件process_view() 使用中间件进行URL过滤 Django生命周期生命周期分析 Django日志日志配置filter过滤器自定义filter 日志格式化formatter Django信号内置信号定…

深入了解反射

newInstance 可访问性限制&#xff1a; newInstance()方法只能调用无参的公共构造函数。如果类没有无参公共构造函数&#xff0c;那么newInstance()方法将无法使用。 异常处理&#xff1a; newInstance()方法在创建对象时会抛出受检异常InstantiationException和IllegalAcces…

【数据分享】《中国文化文物与旅游统计年鉴》2022

最近老有同学过来询问《中国旅游年鉴》、《中国文化文物统计年鉴》、《中国文化和旅游统计年鉴》、《中国文化文物与旅游统计年鉴》&#xff0c;这四本年年鉴的关系以及怎么获取这四本年鉴。今天就在这里给大家分享一下这四本年鉴的具体情况。 实际上2018年&#xff0c;为适应…

【WEB前端2024】智体OS:poplang编程控制成本小千元的长续航robot机器人底盘(开源)

【WEB前端2024】智体OS&#xff1a;poplang编程控制成本小千元的长续航robot机器人底盘&#xff08;开源&#xff09; 前言&#xff1a;dtns.network是一款主要由JavaScript编写的智体世界引擎&#xff08;内嵌了three.js编辑器的定制版-支持以第一视角游览3D场馆&#xff09;…

数据库分库分表mycat

为啥要分库分表 IO瓶颈&#xff1a;热点数据太多&#xff0c;数据库缓存不足&#xff0c;产生大量磁盘IO&#xff0c;效率较低。 请求数据太多&#xff0c;带宽不够&#xff0c;网络IO瓶颈。 CPU瓶颈&#xff1a;排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源&#…

Python中猴子补丁是什么,如何使用

1、猴子补丁奇遇记 &#x1f412; 在Python的世界深处&#xff0c;隐藏着一种神秘而又强大的技巧——猴子补丁&#xff08;Monkey Patching&#xff09;。这是一项允许你在程序运行时动态修改对象&#xff08;如模块、类或函数&#xff09;的行为的技术。它得名于其“快速修补…

【iOS】UI——关于UIAlertController类(警告对话框)

目录 前言关于UIAlertController具体操作及代码实现总结 前言 在UI的警告对话框的学习中&#xff0c;我们发现UIAlertView在iOS 9中已经被废弃&#xff0c;我们找到UIAlertController来代替UIAlertView实现弹出框的功能&#xff0c;从而有了这篇关于UIAlertController的学习笔记…

24考研408大变化,25考研高分上岸规划+应对策略

巧了&#xff0c;我有现成的经验&#xff1a; 数学和专业课的成绩都不高不低&#xff0c;刚好够用&#xff0c;其实408想上岸&#xff0c;不仅仅要学好408&#xff0c;还要学好考研数学&#xff0c;这是我的肺腑之言&#xff0c;我复试的时候&#xff0c;我知道的那些没有进复试…

【无标题】 Notepad++ plugin JSONViewer 下载地址32位

JSONViewer download | SourceForge.net 1、下载插件压缩包并解压出dll&#xff1a;Jsonviewer2.dll&#xff08;64位&#xff09;或NPPJSONViewer.dll&#xff08;32位&#xff09;; 2.、拷贝对应dll到Notepad安装目录下的plugins目录。 3、重启Notepad程序&#xff0c;在插…

日志分析集群最新版

日志分析集群-8版本 作者&#xff1a;行癫&#xff08;盗版必究&#xff09; 第一部分&#xff1a;Elasticsearch 一&#xff1a;环境准备 1.简介 ​ 部署模式&#xff1a;es集群采用无主模式 ​ es版本&#xff1a;8.13.4 ​ jdk版本&#xff1a;使用es内嵌的jdk21&#x…

冯喜运:6.7晚间黄金原油行情分析及操作建议

【黄金消息面分析】&#xff1a;周四(6月6日)纽市尾盘&#xff0c;现货黄金盘中报2373.15美元/盎司&#xff0c;涨18.16美元或0.77%。如果金价反弹至上周高点2364上方&#xff0c;将引发一周看涨反转。日收盘价高于该价格水平将确认突破。一旦突破得到确认&#xff0c;金价进一…