自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 const关键字

1、声明常量时必须赋一个值2、不能重复声明3、const不存在变量提升4、只在当前块级作用域内有效5、当使用const声明对象时,表示对象的引用地址是一个常量,不可修改6、当使用const声明对象时,对象里属性值可以被修改7、当使用const声明对象时,使用Object.freeze(obj)方法使对象里的属性不许修改8、const声明数组9、Object.freeze(obj)用于数组时...

2020-09-15 20:09:49 32

原创 let关键字

1、在块级作用域内用let声明的变量只作用在当前块级作用域内,超出此作用域使用将报错:2、使用var声明的变量可以被重复声明,但是使用let或const声明的变量不能被再次重新声明3、let不存在变量提升4、暂存死区:块级作用域中如果存在let声明的变量str,这个变量str一开始就会形成一个封闭的区域,即使外层存在同名的变量也是拿不到的。块级作用域包括:if(){} switch(){}for(){}try(){}catch(err){}{}...

2020-09-15 14:20:10 24

原创 移动端触屏实现元素拖拽功能

/* * 手指拖拽 * options参数控制水平或垂直方向是否可以拖拽 */function drag(el, options) { options.x = typeof options.x !== 'undefined' ? options.x : true; //x方向是否允许拖拽 options.y = typeof options.y !== 'undefined' ? options.y : false; //y方向是否允许拖拽 if (!options.x &

2020-09-09 15:32:59 186

原创 touch事件的event对象

touch事件的event对象里有3个类数组,分别是touches、targetTouches、changedTouches。touches :包含所有按在屏幕上的手指信息,不管有没有按在目标物体上。targetTouches :包含所有按在目标物体上的手指信息。changedTouches:所有按在屏幕上且在移动的手指信息。如下图所示:touches类数组里包含4个手指的信息,length=4targetTouches类数组里包含2个手指的信息,length=2changedTouche

2020-09-08 09:38:00 91

原创 cssrem插件安装使用

1、安装cssrem插件2、安装成功后:

2020-09-03 15:39:17 138

原创 媒体查询

1、媒体类型all(默认,可省略),screen / print / speech可简写为:2、 媒体查询中的逻辑:与(and)、或(,)、非(not)(1)与(and)(2)或(,)(3)非(not)(4)not与and连用(4)not和或连用3、媒体特征表达式常用:max-width 文档最大宽度min-width 文档最小宽度-webkit-device-pixel-ratio 设备像素比-webkit-max-device-pixel-ratio ..

2020-09-01 16:38:12 49

原创 flex布局-容器内item属性

1、order(1) flex布局内item元素没有指定order属性时,默认值都是0。(2) flex布局内排列子item是根据每个子item的order值大小排列的,order值越小越靠前。2、flex-grow测试代码:1、order测试为box3添加order属性:.box3{ order: -1; }效果:...

2020-09-01 13:42:27 121

原创 flex布局-容器属性

先来看一段代码:效果:现在将box设置为flex布局(display属性设置为flex或inline-flex):1、display属性:当属性值为flex时,box的布局宽度和里面的内容无关;当属性值为 inline-flex 时,box的布局宽度由里面的内容撑开。(1)display: flex.box { display: flex; /*布局宽度和里面的内容无关 */ border: 1px solid #333;}效果:(2)display: inline

2020-08-28 11:23:11 66

原创 图标字体的使用

阿里巴巴图标字体库:https://www.iconfont.cn/1、下载你需要的图标字体下载后解压:2、把上面这些文件都放在一个文件夹内,然后放在你的项目目录中,再在你的项目中引入iconfont.css文件3、创建一个i标签或者span标签,添加两个类名,一个固定的是iconfont,另一个是你想要的那个图标对应的类名效果:4、修改图标颜色和大小效果:...

2020-08-27 17:33:35 31

原创 chrome滚动截屏

1、F12打开开发者工具2、ctrl+shift+p 打开Chrome浏览器的console功能菜单的指令搜索栏3、输入:Capture full size screenshot,找到Capture full size screenshot指令,点击该指令或按下回车,Chrome浏览器就自动生成并下载了当前网页的全部彩色截屏图片...

2020-06-19 16:23:16 109

原创 Https证书crt或者cer转换成bks文件

1、下载bcprov-jdk15on-165.jar:http://www.bouncycastle.org/latest_releases.html2、打开cmd执行命令:keytool -importcert -v -trustcacerts -alias 位置1 -file 位置2 -keystore 位置3 -storetype BKS -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpat

2020-06-12 10:51:25 282

原创 transform-style设置3D效果

transform-style指定嵌套元素是怎样在三维空间中呈现。语法:transform-style: flat | preserve-3d(默认值为 flat )<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> &l...

2020-04-04 23:58:26 191

原创 解决SwipeRefreshLayout拦截ViewPager的滑动冲突

/** * Created by shengqf * Email : shengqf@bsoft.com.cn * date : 2020/2/20 * describe : 解决SwipeRefreshLayout拦截ViewPager的滑动冲突 */public class ViewPagerSwipeRefreshLayout extends SwipeRefreshLayout...

2020-02-20 15:51:21 217

原创 jenkins参数化构建配置

参考:https://blog.csdn.net/u012375924/article/details/73835857

2019-10-28 16:33:41 1493

原创 jenkins忘记密码重置密码

下面以windows为例:1、找到jenkins安装目录,打开如下图所示目录下的config.xml文件2、将标签内容改为:#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS这个密码为111111的hash值,然后保存config.xml文件。3、选中jenkins服务右键重启4、用新密码11...

2019-10-28 16:33:34 62

原创 使用jenkins自动化构建测试打包apk并上传至fir

参考:https://www.jianshu.com/p/b99c1ee2ea3e

2019-10-28 16:33:26 1032

原创 解决walle打的包加固后获取不到渠道信息

ProtectedApkResignerForWalle作用:ProtectedApkResignerForWalle用于多渠道打包顺便做个重签名1、config.py配置,这个文件包含了签名、源app名称、多渠道分包后的默认渠道文件夹等;2、channel中配置好自己需要分的渠道包名称;使用walle读取渠道信息传递给友盟:项目集成美团的Walle用于读取apk的渠道信息,并将渠道信息...

2019-10-24 10:42:06 550 1

原创 使用Walle实现多渠道打包

walle的github地址:https://github.com/Meituan-Dianping/walle1、项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖buildscript { dependencies { classpath 'com.meituan.android.walle:plugin:1.1.6' }...

2019-10-24 10:41:59 587

原创 Bugly渠道包热修复测试

一、打基线渠道包1、打开thinker-support.gradle文件,指定基线渠道包的thinkerId:2、打开thinker-support.gradle文件,放开注释:3、打所有渠道基线包:完成后,在app的build的bakApk目录下会生成app-0411-15-39-15目录,里面生成了develop和product两个渠道的文件夹,里面又对应渠道的基线包双击ap...

2019-10-24 10:40:40 70

原创 bugly可热更新的内容

经测试可热更新内容:1、java文件内修改代码2、添加新的.java文件3、添加新Activity4、menifest文件修改5、添加新资源文件6、color.xml文件添加新颜色7、style.xml文件添加新样式8、anim文件夹下添加新的动画经测试不可热更新内容:1、build.gradle文件添加新依赖...

2019-10-24 10:40:29 168

原创 项目加了Bugly后编译速度变的很慢解决

解决方法:勾选 Offline work

2019-10-24 10:40:19 39

原创 Bugly普通包热修复测试

视频地址:http://v.qq.com/vplus/bugly/foldervideos/bme000301803d13第5个视频

2019-10-24 10:40:09 69

原创 Bugly接入流程

官方接入文档:https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20180709165613#_31、项目根目录下的build.gradle文件引入thinker-support插件2、app模块根目录下新建tinker-support.gradle文件(将thinker相关的配置全写在此文件)...

2019-10-24 10:39:58 115

原创 这是一份值得你去查看的Android安全手册

文章转自:这是一份值得你去查看的Android安全手册问题:RSA加密算法不安全使用带来的安全风险RSA加密算法是一种非对称加密算法。当其密钥长度过短,通常认为长度小于512位时,就会存在较高的被破解风险;没有使用正确的工作模式和填充方式,将会存在重放攻击的风险。因RSA加密算法不安全使用造成的加密方法失效,可能造成客户端隐私数据泄露、加密文件破解、传输数据被获取、中间人攻击等后果,导致用户敏...

2019-10-14 09:15:25 296

原创 Run出来的apk直接在手机上安装不上的原因

文章转自:为什么我把 Run 出来的 Apk 发给老板,却装不上!一、testOnly 属性Run 出来的 APK,会在 AndroidManifest.xml 文件中,增加 android:testOnly 属性,正是因为这个属性,阻止了我们使用正常方式安装 APK。当你使用 adb install 安装 android:testOnly=“true” 的包时,输出的错误信息,明确的标记了...

2019-10-14 09:11:28 124

原创 Android Studio中gradle版本和插件版本对应关系

Android官方开发文档中对studio的gradle版本和插件版本对应关系说明:https://developer.android.google.cn/studio/releases/gradle-plugin#updating-plugin

2019-09-24 13:56:50 6273

原创 Android Studio 3.4.2制作jar包

这里以network这个module制作jar为例:1、在network模块的build.gradle文件添加如下代码://生成jar包task makeJar(type:Copy) { delete 'build/outputs/network.jar' from('build/intermediates/packaged-classes/release/') //jar文...

2019-08-07 22:32:26 801

原创 使用Bitmap.createScaledBitmap()的问题

Bitmap tempBitmap = BitmapFactory.decodeFile(picPath, opts); newBitmap = Bitmap.createScaledBitmap(tempBitmap, desiredWidth, desiredHeight, true); tempBitmap.recycle();如上代码所示获取newBitmap,有些情...

2019-05-08 15:01:14 669

原创 android:showDividers属性详解

android:showDividers属性用于在LinearLayout布局内的相应位置显示分隔线,它可以设置如下4个值:1、none:不显示分隔线;2、beginning:在LinearLayout的开始处显示分隔线;3、end:在Linearlayout的结尾处显示分隔线;4、middle:在LinearLayout中的每两个组件间显示分隔线;例如,如下代码: <L...

2019-04-25 22:40:41 1875

原创 解决嵌套的RecyclerView和SwipeRefreshLayout下滑冲突问题

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onS...

2019-04-12 19:57:49 604

原创 使用android自带的TextSwitcher实现Textview的上下滚动

先看效果:布局:&amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;quot;1.0&amp;amp;amp;quot; encoding=&amp;amp;amp;quot;utf-8&amp;amp;amp;quot;?&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;LinearLayout xmlns:android=&amp;amp;amp;quo

2019-03-14 15:08:11 314

原创 markdown语法

markdown文件引入项目的图片路径:github:https://github.com/用户名/项目名/raw/分支名/目录名/图片名称https://github.com/shengqf/FlowLayout/raw/master/img/01.pnggitlab:http://jkcs.bsoft.com.cn/hc/app/android/dlzx_pub/raw/master...

2019-03-13 17:04:11 57

转载 Android中的字体适配

转自:https://mp.weixin.qq.com/s/B6lev4UnWh4Vh-dpY6ndpw场景一:有这样一个需求,界面上需要显示一个标题文本,但是该标题的文案长度是不固定的,要求标题的文案全部显示出来,不能用省略号显示,并且标题所占的宽高是固定的。例如标题的文案为 “这是标题,该标题的名字比较长,产品要求不换行全部显示出来”,如下图所示,第一个为不符合需求的标题,第二个为符合需求...

2019-03-05 09:54:32 333

原创 渐变色Drawable

一、线性渐变( android:type=linear)先说下android:angle属性,该属性代表渐变颜色的角度,默认是0,设值时必须是45的整数倍。该属性只有在type=linear情况下起作用,默认的type为linear。angle=0表示渐变色从左到右; angle=45表示渐变色从左下角到右上角;90表示渐变色从下到上;…渐变色从左到右的drawable文件linear_gra...

2019-03-01 17:45:37 710

原创 扫描渐变SweepGradient使用总结

Android 支持三种颜色渐变, LinearGradient(线性渐变)、 RadialGradient (径向渐变)、 SweepGradient(扫描渐变)。这三种渐变均继承自android.graphics.Shader, Paint 类通过setShader()方法来支持渐变。本篇文章介绍SweepGradient的使用,看下SweepGradient构造函数:构造方法1(只支持两...

2019-03-01 16:15:47 2432

原创 放射渐变RadialGradient 使用总结

Android 支持三种颜色渐变, LinearGradient(线性渐变)、 RadialGradient (径向渐变)、 SweepGradient(扫描渐变)。这三种渐变均继承自android.graphics.Shader, Paint 类通过setShader()方法来支持渐变。本篇文章介绍RadialGradient 的使用,看下RadialGradient 构造函数:构造方法1(...

2019-03-01 15:22:23 1166

原创 线性渐变LinearGradient使用总结

Android 支持三种颜色渐变, LinearGradient(线性渐变)、 RadialGradient (径向渐变)、 SweepGradient(扫描渐变)。这三种渐变均继承自android.graphics.Shader, Paint 类通过setShader()方法来支持渐变。这篇文章先总结LinearGradient的使用, RadialGradient (径向渐变)、 Sweep...

2019-03-01 14:37:41 6573

原创 canvas.drawArc()方法参数说明

public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter,Paint paint) { super.drawArc(oval, startAngle, sweepAngle, useCenter, paint); }第一个参数:oval为确定圆弧区域的矩形,...

2019-02-28 20:00:48 2195

原创 上传Library到jcenter仓库的步骤

参考:http://www.jianshu.com/p/6a6eca8c24c4一、先说下注册:如果点下图中那个大大的绿色按钮就错了,因为那样注册的是一个组织注册个人的地址是: https://bintray.com/signup/oss二、创建要上传的library1.新建要上传的module这里我将mylibrary上传到jcenter2.根目录buil...

2019-02-28 08:42:48 615

原创 上传Library到第三方自定义库JitPack的步骤

转自:https://www.jianshu.com/p/b04ef4029b90如上图所示,这里以将flowlayout_lib上传到GitHub仓库,并通过JitPack 打包,最后通过gradle使用compile集成到其它项目为例:1、在项目的根目录的build文件中配置JitPack插件:我使用的时候最新版本是2.1,最新版本请查看:JitPack插件仓库:https://g...

2019-02-26 17:58:21 412

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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