自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Android源码分析-setContentView加载布局流程

上篇文章追溯了Android源码中Activity的启动流程,那么Activity启动之后,是如何加载布局的呢?这篇文章我们继续来追溯这一块的Android源码。Activity->setContentViewpublic void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(la...

2019-04-25 15:08:09 304 1

原创 Android源码分析-Android9.0下的Activity启动流程

前言最近在阅读Android源码时,发现最新的Android9.0源码中startActivity启动Activity的流程相比于低版本的Android源码来说改动较大,且本人在网上也没有找到基于Android9.0的相关源码分析文章。故写下此文,记录下源码追踪流程,方便以后自己复查,同时也分享给有需要的读者。Activity->startActivity @Override ...

2019-04-24 19:45:59 306

原创 事件分发机制注意点总结

1、同一个事件序列是指从手指接触屏幕的那一刻起,到手指离开屏幕的那一刻结束,在这个过程中所产生的一系列事件,这个事件序列以down事件开始,中间含有数量不定的move事件,最终以up事件结束。2、正常情况下,一个事件序列只能被一个View拦截且消耗。因为一旦一个元素拦截了某个事件,那么同一个事件序列内的所有事件都会直接交给它处理,因此同一个事件序列中的事件不能分别由两个View同时处理,但是通过...

2019-04-03 15:37:29 242

原创 React通过redux缓存列表数据以及滑动位置,回退时恢复页面状态

在使用React和React-router实现单页面应用时,会有这样一个场景:从列表页面点击某项条目进入详情页,然后回退至列表页面时,列表页面会重新刷新,不仅数据重新获取了,滚动条也回到了顶部。用户要继续查看剩余数据的话,需要重新滑动到之前点击的那个条目,如果列表做了分页的话就更麻烦了,这对于用户体验来说是非常不好的。所以我们希望能做到,从二级页面回退至列表页面时,列表页面能保留之前的状态(数据...

2019-02-22 11:42:12 815

原创 create-react-app同时对多个框架(antd+antd-mobile)做按需加载的方法

在React项目开发中,经常需要引用一些实用的第三方框架。在使用一些比较庞大的第三方框架时,框架内的各种资源文件数量巨大,这时,如果我们在每次使用框架时,都将框架内所有资源都全部加载的话,这将使得页面的性能大大降低。这时,我们就需要对这些庞大的第三方框架做按需加载了。首先介绍下对单个框架做按需加载的方法其实在使用create-react-app脚手架的情况下,对单个框架做按需加载的方法,网...

2019-02-15 14:25:55 1115

原创 React通过redux-persist持久化数据存储

在React项目中,我们经常会通过redux以及react-redux来存储和管理全局数据。但是通过redux存储全局数据时,会有这么一个问题,如果用户刷新了网页,那么我们通过redux存储的全局数据就会被全部清空,比如登录信息等。这个时候,我们就会有全局数据持久化存储的需求。首先我们想到的就是localStorage,localStorage是没有时间限制的数据存储,我们可以通过它来实现数据的...

2019-02-14 14:06:01 1874

原创 React对fetch的简单封装

import {getStrValue, isObjNull} from "./common";export function fetchPost(url, params, header) { if (isObjNull(header)) { header = {} } let formData = new FormData() if (par...

2019-02-14 11:43:41 868 1

原创 JavaScript格式化Date类型的扩展方法

//yyyy-MM-dd hh:mm:ssDate.prototype.format = function (fmt) { let o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": ...

2019-02-14 11:30:56 170

原创 JavaScript中String类型的一些实用扩展方法

/** * 是否以某一字符串开头 * @param s * @returns {boolean} */String.prototype.startWith = function (s) {    if (s == null || s == "" || this.length == 0 || s.length > this...

2019-02-14 11:26:20 279

原创 React-redux的原理以及简单使用

当一个react项目组件层级越来越深,页面越来越多的时候,数据在各个组件层级和页面之间传递的需求就会比较多,很多变量也需要做成可全局管理的。在这个时候,redux和react-redux的使用就很有必要了。它们能帮助我们很方便的进行项目全局性的数据管理。下面,就写一下我自己对 redux 和 React-redux 的学习以及使用的心得,权当是对学习过程的一种记录和分享。一、redux和Rea...

2018-12-11 18:13:43 829

原创 React计算antd的TreeSelect组件所选中的子节点数量

antd的TreeSelect组件在处理例如公司层级、学科系统、分类目录等等的树形选择需求时很好用。在使用这个组件时,我们往往需要获取所选中的所有节点以及所选中的所有子节点的数量。查看TreeSelect的api找到了组件的选中回调方法onChange在理解onChange方法的参数含义前,要先知道TreeSelect组件的数据格式onChange方法有三个参数,value表示所选中的...

2018-11-21 10:18:15 2677

原创 去掉antd的Input组件获取焦点时的蓝色边框

antd的Input输入框组件在获取焦点时会有蓝色的边框显示,最初尝试通过设置outline:none的方法去掉这个边框,但是发现这个方法不起作用。最终通过在F12调试页面下的Elements选项下的多次观察和实验,发现antd的Input组件在获取焦点情况下的蓝色边框是通过box-shadow来实现的,找到问题所在就很好解决了。解决方法的css样式如下:.ant-input-affix-w...

2018-11-21 10:17:24 10836 1

原创 JavaScript取出字符串中括号里的内容

/** * 取出中括号内的内容 * @param text * @returns {string} */export function getBracketStr(text) { let result = '' if (isObjEmpty(text)) return result let regex = /\[(.+?)\]/g; le...

2018-11-02 11:09:07 12757

原创 React 解决fetch跨域请求时session失效

在解决fetch跨域请求接口的时候,一般都是让后台接口在返回头里添加//允许所有域名的脚本访问该资源header("Access-Control-Allow-Origin: *");确实这样是可以解决跨域请求的问题,但是如果我们要在请求的时候添加session,那么这样设置就会出现问题了。fetch添加Cookie验证的方法是设置credentials: ‘include’fetch...

2018-11-02 11:08:16 1256

原创 修改Antd组件样式的方法

1、F12打开调试,选中Elements选项2、在Elements的元素树中选中相应的Antd组件布局,然后查看右端的css样式表,找到控制组件的css控制器结构。3、最后在我们自己的css样式文件中修改对应的控制器属性就可以了...

2018-11-02 11:07:38 13075 6

原创 React 基础知识总结

一、Node.jsNode.js并不是一个JavaScript框架,Node.js是JavaScript运行时的运行环境,类比Java中的JVM。java的开端是什么,无疑是JVM,自从有了JVM,java才能吹牛说自己是“一次编写处处运行”,不管你是windows还是linux,只要安装了对应版本的JVM都可以运行.class文件。同样Node.js的作用和JVM的一样一样的,也是js的运...

2018-11-02 11:06:34 178

原创 JavaScript学习笔记

所有的web开发都是【请求】+【响应】推荐JavaScript中使用单引号引用字符串,HTML中使用双引号,防止冲突JavaScript代码、网页代码执行顺序是从上到下依次执行<noscript></noscript>标签,在浏览器不支持JavaScript内容时会展示noscript标签内的内容<noscript>    <p>本页...

2018-07-30 09:34:19 167

原创 微信小程序自定义组件-城市选择

上篇文章有介绍一些小程序的自定义组件语法,这篇文章就不多做赘述,重点介绍组件的实现逻辑。先把效果图贴出来,看看要实现的效果: 城市选择效果图.gif首先还是设置布局,从实现效果看,组件可分成三个部分:展示城市数据的二级列表、侧边的滑动栏以及中间的提示框。也就是一个scroll-view,一个view布局以及一个text。最终确定的wxml布局文件如下:<scroll...

2018-07-16 17:44:58 3927

原创 微信小程序自定义组件-可清除的input组件

最近正在做的一个小程序项目中需要用到一个可清除的输入框控件,为了在项目中使用方便以及方便其他项目直接使用,便封装了一个可清除的input自定义组件。组件需要达到的需求是:输入框内没有内容时,删除按钮隐藏;当输入框内有内容时,删除按钮显示,点击删除按钮则清空输入框内所有内容。并且还可以设置输入框整体样式以及输入框左侧图标。明确了需求之后,就可以开始着手实现了。首先,在目标目录下新建一个自...

2018-07-16 17:40:33 1764

原创 OkHttp如何移除User-Agent,Accept-Encoding等框架自动添加的请求头参数

使用OkHttp网络框架在进行网络请求时会发现,传到后台的请求头中会比我们自己添加的参数多出几个额外参数。查看源码会发现 private Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of interceptors. List<Intercept...

2018-07-16 17:39:14 2249 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除