<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[YanLong_Lin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/YanLong_Lin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; YanLong_Lin]]></copyright><item><title><![CDATA[前端自定义缓动动画]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/116779037</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/116779037</guid><author>YanLong_Lin</author><pubDate>Fri, 14 May 2021 08:18:31 +0800</pubDate><description><![CDATA[function animate(obj, target, callback) {
    // console.log(callback);  callback = function() {}  调用的时候 callback()

    // 先清除以前的定时器，只保留当前的一个定时器执行
    clearInterval(obj.timer);
    obj.timer = setInterval(function() {
        // 步长值写到定时器的里面
        // 把我.]]></description><category></category></item><item><title><![CDATA[element ui 表格]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/116204146</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/116204146</guid><author>YanLong_Lin</author><pubDate>Tue, 27 Apr 2021 16:28:45 +0800</pubDate><description><![CDATA[element ui 表格封装成表格嵌套表格（嵌套表格内容有点不一样）
&lt;template&gt;
  &lt;div&gt;
    &lt;el-table
      :data="tableData"
      style="width: 100%; margin-bottom: 20px"
      row-key="id"
      highlight-current-row
      default-expand-all
      :header-cell-style="{ b]]></description><category></category></item><item><title><![CDATA[android拷贝图片副本]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106853040</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106853040</guid><author>YanLong_Lin</author><pubDate>Fri, 19 Jun 2020 11:30:36 +0800</pubDate><description><![CDATA[android不可以对原图直接操作可以拷贝图片生产副本，在副本进行操作
  ImageView originalImage, copyImage;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_copy_image);
        //原图]]></description><category></category></item><item><title><![CDATA[android 缩放加载大图片]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106850784</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106850784</guid><author>YanLong_Lin</author><pubDate>Fri, 19 Jun 2020 10:19:14 +0800</pubDate><description><![CDATA[读取 sd卡大图片并且 缩放图片
1.添加权限
 &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;

2.动态获取权限
 ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);

3.获取手机宽高
 //获]]></description><category></category></item><item><title><![CDATA[vue组件获取 scrollTop焦点 和设置scrollTop 来保存组件的数据和滚动位置]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106797921</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106797921</guid><author>YanLong_Lin</author><pubDate>Tue, 16 Jun 2020 23:39:59 +0800</pubDate><description><![CDATA[我的项目中使用了vue和 vant 其中封装的组件有点多，先要的效果就是 缓存list数据并且下拉数据时候 当 点击item项目时候 按回退时候 滚轮还是在原来位置
其中 数据缓存不在这里说了使用的是
上代码
这是封装的组件内部是什么不重要 主要是ref=“articleListBox”
&lt;template&gt;
  &lt;div class="article-list" ref="articleListBox"&gt;
    &lt;van-pull-refresh v-model="refr]]></description><category></category></item><item><title><![CDATA[web查看当前是哪个元素触发了滚动]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106795610</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106795610</guid><author>YanLong_Lin</author><pubDate>Tue, 16 Jun 2020 21:17:45 +0800</pubDate><description><![CDATA[function findscroller(element){
        element.onscroll=function () {
            console.log(element)
        }
        Array.from(element.children).forEach(findscroller)
  }
  findscroller(document.body)


复制到这里面 然后滚动页面
.
就可以看到触发滚动的dom元素了

...]]></description><category></category></item><item><title><![CDATA[读取联系人信息 （源码版）]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106771852</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106771852</guid><author>YanLong_Lin</author><pubDate>Mon, 15 Jun 2020 21:39:15 +0800</pubDate><description><![CDATA[添加权限
 &lt;uses-permission android:name="android.permission.READ_CONTACTS"/&gt;

动态添加权限
   ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, 3);

读取联系人信息
	//查询 raw_contacts表 contact_id 列 获取有多少个联系人（联系人对应的id）
        Uri]]></description><category></category></item><item><title><![CDATA[获取短信数据 并且备份]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106771672</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106771672</guid><author>YanLong_Lin</author><pubDate>Mon, 15 Jun 2020 21:30:55 +0800</pubDate><description><![CDATA[配置权限
 &lt;uses-permission android:name="android.permission.READ_SMS" /&gt;
 &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;

动态添加权限
//针对的是android8.0以上（简单版）
ActivityCompat.requestPermissions(this, new String[]{Manifest.per]]></description><category></category></item><item><title><![CDATA[配置html-webpack-plugin]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106683328</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106683328</guid><author>YanLong_Lin</author><pubDate>Thu, 11 Jun 2020 10:50:26 +0800</pubDate><description><![CDATA[html-webpack-plugin的作用
1.能够根据一个html，在根目录生成另一个html
2.自动引入根目录在内存中生成功的index.js
步骤
1.安装默认预览功能的包:html-webpack-plugin
  npm install html-webpack-plugin -D

2.修改webpack.config.js文件，如下：
 //导入包
    const HtmlWebpackPlugin = require("html-webpack-plugin");
    //创建对]]></description><category></category></item><item><title><![CDATA[webpack配置]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106672858</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106672858</guid><author>YanLong_Lin</author><pubDate>Wed, 10 Jun 2020 18:50:10 +0800</pubDate><description><![CDATA[创建项目，并打开项目所在目录的终端，输入命令：
npm init -y
1).打开项目目录终端，输入命令:
npm install webpack webpack-cli -D
2).然后在项目根目录中，创建一个 webpack.config.js 的配置文件用来配置webpack
在 webpack.config.js 文件中编写代码进行webpack配置，如下：
module.exports = {
mode:“development”//可以设置为development(开发模式)，productio]]></description><category></category></item><item><title><![CDATA[在NodeJS中安装babel]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106668993</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106668993</guid><author>YanLong_Lin</author><pubDate>Wed, 10 Jun 2020 16:15:43 +0800</pubDate><description><![CDATA[1.安装babel
打开终端，输入命令：cnpm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node @babel/polyfill
如果你需要在一个Node项目中使用Babel，你可以使用babel-core
如果你想要在命令行使用Babel，你可以安装babel-cli
babel-node命令可以直接运行ES6脚本
@babel/preset-env
转化最新语法如箭头函数, class, 扩展运算符，想要转换]]></description><category></category></item><item><title><![CDATA[Android Studio中如何创建帧动画文件（animation-list文件）]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106624083</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106624083</guid><author>YanLong_Lin</author><pubDate>Mon, 08 Jun 2020 17:08:51 +0800</pubDate><description><![CDATA[找到res/drawable

右键




]]></description><category></category></item><item><title><![CDATA[android 8.0 接收开机广播 （应用自启）]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106582463</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106582463</guid><author>YanLong_Lin</author><pubDate>Sat, 06 Jun 2020 08:21:53 +0800</pubDate><description><![CDATA[在清单文件中注册
  &lt;receiver
            android:name=".BootReceiver"
            android:enabled="true"
            android:exported="true"&gt;
            &lt;intent-filter&gt;
                &lt;action android:name="android.intent.action.BOOT_COMPLETED" /&g]]></description><category></category></item><item><title><![CDATA[android 8.0后无法接收“NEW_OUTGOING_CALL”解决办法]]></title><link>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106562387</link><guid>https://blog.youkuaiyun.com/YanLong_Lin/article/details/106562387</guid><author>YanLong_Lin</author><pubDate>Fri, 05 Jun 2020 06:58:35 +0800</pubDate><description><![CDATA[因为android8.0后对广播进行了很多限制，一直没有搞懂为什么接收不到用户拨打电话时候的广播，尝试了网上很多的办法，后来看了这篇博客
https://blog.youkuaiyun.com/dfghhvbafbga/article/details/80223938
这里面有写到那些广播还可以直接在清单文件注册，但是我发现还是接收不到广播 ，后来怀疑是不是权限的问题，因为清单文件的权限添加被划掉了，而且6.0之后就需要动态添加权限

添加NEW_OUTGOING_CALL权限
    if (ContextCompa]]></description><category></category></item></channel></rss>