自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hepann的博客

心得,随笔,记录

  • 博客(57)
  • 资源 (5)
  • 收藏
  • 关注

原创 ScrollView 滑动时 头部缩放效果

效果图如下:实现原理监听 ScrollView 滑动事件根据监听的滑动值设置顶部 view 的 margin,这个地方的重点是设置为负数步骤:给 ScrollView 设置滑动监听,因为直接的回调方法 setOnScrollChangeListener 有 API 版本的限制,所以这里利用 onScrollChanged(int x, int y, int oldx, int o...

2019-01-09 15:45:39 1185

原创 上滑加载更多的 RecyclerView

这是一个简单的自定义 RecyclerView 利用本身的滑动监听实现上滑加载. 来自新入职的公司xbxm.好处时轻量, 不用去依赖三方包package com.newboom.umall.view;import android.content.Context;import android.support.v7.widget.GridLayoutManager;import andr...

2018-11-12 16:44:20 510

原创 RecyclerView 使用 GridLayoutManager 时,设置不同 viewtype 所占的 spanSize

需求当 RecyclerView 用于一行展示多个 item 时,会用到 GridLayoutManager .这时其他的 viewtype 可能仍然希望占据一整行,例如底部的加载更多view,如下图:解决继承 GridLayoutManager.SpanSizeLookup() 类,重写 getSpanSize 方法.返回此item期望占据的 SpanSize val lay...

2018-11-07 11:32:56 3531 1

原创 ConstraintLayout 中 TextView 显示不全

问题描述当在ConstraintLayout限制TextView的范围时,TextView中的文字缺失一部分.<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/...

2018-11-07 11:31:57 6376 4

原创 TabLayout 的底部指示线修改(固定长度,圆角)

最终效果底部导航栏长度不再是填满,而是固定长度显示圆角矩形实现原理隐藏 TabLayout 原生的 tabIndicator <android.support.design.widget.TabLayout ... app:tabIndicatorHeight="0dp" .../>替换 tabBackground ...

2018-11-05 13:52:56 5063 3

原创 仿华为03-波浪线-手机管家电量界面

波浪线原理原理效果图效果图代码波浪线原理 本来想在 CSDN 中引用一篇波浪线原理文章放这里,两个原因决定还是在文章中写一写 1 找到的文章有的篇幅过长,重点不突出.有些就是讲的不够透彻. 2 如果去掉原理部分,就和先前两篇文章样式不相符了.内容也少了一大块原理主要涉及两部分波浪线画法–贝塞尔曲线波浪线波动起来–屏幕不断显示新的...

2018-06-28 14:51:37 624

原创 仿华为02-旋转圆球(圆点)和对勾

[TOC] 地方

2018-06-24 11:22:40 573

原创 仿华为01-圆环进度和小圆球

水电费 华为进度圆环

2018-06-19 19:17:50 648

原创 仿网易严选物流界面

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-06-16 15:32:16 1908

原创 ConstraintLayout 中 Barrier的使用

 Barrier 是用多个 View 作为限制源来决定自身位置的一种辅助线.       <android.support.constraint.Barrier android:id="@+id/barrier1" android:layout_width="wrap_content" android:layout_height="wrap_c...

2018-06-13 14:06:22 16667 2

转载 显示,隐藏Fragment问题 - 转载

文章转载于点击打开链接原文如下这个首先从一个bug说起,如我们都知道fragment切换有两种方式:1. replace方式transaction.replace(R.id.content, IndexFragment);2. add-hide-show方式transaction.add(R.id.content, IndexFragment); transaction.hide(otherfr...

2018-05-29 11:03:57 882

原创 cannot load facet kotlin

日常错误笔记2018.5.29更新 AndroidStudio 之后发现 kotlin 文件不能被识别,语法没有高亮.解决办法第一步按照网上的操作(点击打开链接)Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题。鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 ...

2018-05-29 09:32:07 2428

原创 利用不同 values 文件下的 dimens.xml 适配安卓屏幕

工具 AndroidStudio3.0.1 1 明确几个概念 平时称呼的 1920*1080 是指的分辨率 px,既 1920*1280px 相同的分辨率在不同尺寸的设备上会产生不同的像素密度 dpi 谷歌目前(2018.05.25)规定的像素密度,以及对应的 dp 转换比例下   ldpi mdpi tvd...

2018-05-27 18:34:30 11224 4

原创 《程序是怎样跑起来的》笔记

备注:本文是《程序是怎样跑起来的》--矢泽久雄 读书笔记章节摘要备注总结对程序员来说 CPU 是什么CPU 内部由寄存器,控制器,运算器和时钟四个部分组成有些 CPU时钟部分在外部程序启动后,控制器从内存读取指令和数据程序存储在内存中,CPU来执行对程序员来说 CPU 是什么CPU是寄存器的集合体程序是把CPU作为

2018-02-01 14:14:27 326

原创 《计算机是如何跑起来的》笔记

备注:本文是《计算机是如何跑起来的》–矢泽久雄 读书笔记计算机的三个根本性基础1.1 计算机的三个根本性基础 计算机是执行输入,运算,输出的机器 程序是指令和数据的集合 计算机的处理方式有时和人们的思维习惯不同 1.2 输入,运算,输出是硬件的基础1.3 软件是指令和数据的集合 指令就是控制计算机进行输入,运算,输出的命令 数据分为两类,一类是作为指令执行对象的

2018-01-02 14:40:00 1481

原创 so包问题汇总 PathClassLoader ** couldn't find; dlopen failed is 32-bit

问题1 厂家提供的so包类型不全,一般是如下三种若还需要使用 arm64-v8a ,可以新建 arm64-v8a 文件夹,然后拷贝 armeabi so包到里面 问题2 找不到 so 包java.lang.UnsatisfiedLinkErrorr:dalvik.system.PathClassLoader[DexPathList[[zipfile “/data/app/com.nf.health

2017-10-11 11:32:42 879

原创 String 的 split(String regex, int limit) 方法 次数,空串

1 问题描述有四个 EditText ,其内容用 @ 符号拼接后作为一个参数传给服务器,需要时请求回显数据. 起初 String joint_string = "1@2@3@4"; // 数字代表对应位置都有数值String[] result = joint_sting.split("@");//长度为4的的数组,对应每一个 EditText后来发现,有些地方可能为空String joint_s

2017-09-30 10:47:31 5101 2

原创 python 爬虫系列04 实战 中国天气网

本系列所有文章基于 python3.5.2今天利用 系列02 和 系列03的知识完成一个小例子: 爬取中国天气网最近七天数据: 做爬虫需要几步呢? 概况来说需要两步: 第一步是从网络上获取数据(大部分是html) 第二步就是解析数据1 从网站获取数据 这里我使用 requests 模块来代替内建模块 urllibimport requestsimport randomu

2017-09-08 17:10:43 502 2

原创 python 爬虫系列03 认识 BeautifulSoup

本系列所有文章基于 python3.5.2BeautifulSoup 是用来解析 HTML,XML 的 python 库.其功能十分强大,代码十分简洁. 中文文档1 快速开始将一段文档传入 BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄.这里用”爱丽丝梦游仙境”的文档来做例子:from bs4 import BeautifulSouphtml_

2017-09-08 16:52:36 415

原创 python 爬虫系列02 认识 requests

本系列所有文章基于 python3.5.2requests 是基于 urllib 的三方模块,相比于 uillib, 操作更简洁,功能更强大,而且支持 python3GET直接调用 get 方法请求百度贴吧首页import requestsr = requests.get(url='https://tieba.baidu.com/f')print(r.status_code)print(r.te

2017-09-04 15:17:27 323

原创 python 爬虫系列01 认识 uillib

urllib 是 python 常用内建模块 提供了一系列用于操作 URL 的功能GETuillib 的 request 模块可以非常方便的抓取 URL 内容,也就是发送 GET 请求到指定网页,然后获得服务器的 HTTP 响应from urllib import requestwith request.urlopen('https://api.douban.com/v2/book/2129650'

2017-09-04 11:28:50 716

原创 findLibrary returned null

集成天融信 SDK 时初始化失败,报错如下stem.PathClassLoader[DexPathList[[zip file "/data/app/com.example.topsec.sslvpn.topvpnsdkdemo-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.topsec.sslvpn.topvpnsdkdem

2017-09-01 11:47:48 722

原创 Bugly MultiDex注意事项 把Bugly的类放到主Dex

问题描述在集成腾讯 Bugly 时有如下注意事项本来只是一个建议,但是app方法数真的超出65535会导致 Bugly 的无法正常使用问题分析因此必须把 Bugly 类放到主Dex,方式用两种:1.multiDexKeepFile:手动加入要放到Main.dex中的类。com.umeng.analytics.Abb.class2.multiDexKeepProguard:以Proguard的方式手动

2017-08-28 16:48:10 4675 3

原创 腾讯 Bugly 和 CrashHandler 冲突,不上传日志

简单介绍CrashHandler 是继承 UncaughtExceptionHandler 类来处理 app 崩溃,自由度比较大 可以收集日志信息保存到本地,并重启应用.可以说是除了三方的异常上报工具, 开发者使用最多的一种方式Bugly 是腾讯公司为移动开发者开放的服务之一,这里主要指 Crash 监控、崩溃分析等质量跟踪服务。问题描述CrashHandler 是 app 以前就有的错误收集

2017-08-28 11:56:43 7912 3

原创 优质资源收藏夹

本篇文章记录优质的博客和博客系类Android 篇1 启舰大神的自定义控件三部曲(系类) Android 开发我认为分为性能和UI两部分.而自定义控件,动画是实现优美UI的基础 随着 Android 岗位竞争的日趋激烈,高级的 UI 实现能力必定是每个开发者必备的能力 启舰大神的这个系列是我见过的内容最相近,流程最顺畅的系列,为本人的入门提高提供了很大助力.强力推荐2 完整的 m

2017-08-24 16:27:32 409

原创 Python3.x 爬虫 爬取中国天气网数据

爬虫这个听起来很 hack 的名字,是我学习 python 的诱因.当 python 基础学习到一定程度(基本语法,数据类型掌握) 就可以开启自己的小爬虫了.毕竟实践才是提高的最快途径.废话说完了,下面直接开始: 廖凯峰的 python 基础教程 做爬虫需要几步呢? 概况来说需要两步: 第一步是从网络上获取数据(大部分是html) 第二步就是解析数据1. 从网站获取数据 这

2017-08-24 10:53:44 5509 2

原创 阿里 HotFix 热更新 集成

简介 本篇是一个操作记录,非常清晰的阿里 hotfix 集成,希望能给大家节省一些时间 时间 2017-07-24 因为技术网站更新也很快,时间太久截图对应不上 hotfix 版本 2.0.9 因为2.x不兼容1.x 而且阿里已经在做3.x的公测了 因此直接集成3.x同学可以参考但是不能保证完全一致 请原谅我这冗余的介绍. 百川是阿里巴巴旗下的无线开放平台,基于

2017-07-24 18:58:38 650

原创 Cannot recover key

问题描述 新项目利用数字签名打包时遇到 Cannot recover key 的报错原因 在图片界面,其中 Key store password 和 Key password 都是我从公司文档 copy 过来的 可能是因为里面有特殊符号,或者是其他原因。导致了密码错误 自己手动输入后就OK了疑问 在上图中勾选 Remember passwords,并且第一次签名打包成功后. 当

2017-07-24 10:20:12 14651

原创 Glide 加载图片 宽度固定 等比缩放

Glide 加载图片 宽度固定 等比缩放 问题描述,由于图片来自第三方,尺寸很是不确定,而且为了美观要求宽度固定(屏幕宽度). 因此要求图片能够等比例缩放,直到宽度满足调节为止解决办法 Glide.with(context).load(imageUrls.get(position).getImgurl()).asBitmap() .into(...

2017-07-13 13:45:36 8826 2

转载 TextView 字体(TypeFace) 交通灯Led效果

本文来自 Android开发必知的50诀窍 hack111.1预期目标 1,学会给 TextView 设置不同字体 2,利用字体实现交通灯效果1.2 TextView 设置字体样式 1.2.1 首先要有样式文件 *.ttf 网友提供的下载地址 本demo用到的四个ttf 1.2.2 把要用到 ttf 放到 工程的 assets 文件目录下

2017-05-19 13:23:37 823

原创 在 Canvas 上显示动画

本文来自 Android开发必知的50个诀窍 hack71.1 Canvas 介绍 可以把Canvas视为Surface的替身或者接口,图形便是绘制在Surface上的。 Canvas封装了所有绘图调用。 通过Canvas,绘制到Surface上的内容首先存储到与之关联的Bitmap中,Bitmap最终会呈现到窗口上。” Android框架规定,要绘制一些内容.需要四个基本

2017-05-18 15:34:14 977

转载 自定义 ViewGroup 实现子 View 层叠效果

本文内容来自 Android开发必知50个诀窍 中的第三章目标结果 放在自定义CascadeLayout里的 view 会出现这种叠加效果.本例是为了对 ViewGroup 的自定义流程,特别是其绘制流程有个认识,效果不是狂拽酷炫(本质还是我实力没到位).<hp.com.nf.hp50.widget.CascadeLayout android:layout_width="ma

2017-05-17 16:03:22 1076

原创 大于6.0系统 蓝牙扫描 LeScanCallback 方法 不回调

好记性不如烂笔头问题描述 公司的 app 要链接BLE蓝牙设备,最近发现在 6.0 系统,startLeScan(mLeScanCallback);回调不触发.查资料发现 >6.0 需要一个模糊位置权限才能使用蓝牙,至于为什么蓝牙需要位置权限,我也很意外.解决思路 1.1 清单加入位置权限(有可能清单中已经具备了)<uses-permission android:name="android

2017-05-17 14:32:31 7703 4

原创 Dialog异常 Unable to add window, token not valid

好记性不如烂笔头问题描述 Activity 延时显示 Dialog ,在显示之前, Activity 已经销毁 报错 Unable to add window -- token android.os.BinderProxy@e6ee7d8 is not valid; is your activity running?问题分析 错误信息很明确,是没有 token 导致的. 而 toke

2017-05-11 15:01:54 582

原创 限制最大高度的 ListView

好记性不如烂笔头问题描述: 最近遇这样的需求 红色框里是一个 ListView 但是其 item 数量不固定, 本来是用的 wrap_content 来限制高度.但是遇到了特殊情况:在某些小屏幕手机上,若 item 过多. 小弹窗会超过屏幕.因此需要一个能限制最大高度的 ListView .当实际高度小于最大高度就显示 wrap_content 效果,当大于最大高度就限定为最大高度,多出的部分

2017-05-11 13:36:13 3614

原创 安装 assets 中的apk ,兼容6.0权限 处理7.0的崩溃

好记性不如烂笔头前期准备 要安装的apk放到assets文件,三款手机 系统4.4 6.0 7.0 关于assets文件知识可以参考这里 步骤1 copy assets 文件到 存储目录 1.1 清单权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>1.2 调用copyAs

2017-05-04 10:42:30 2658

原创 assets 文件夹到底放哪里 android studio

问题描述: 研究新旧两种 assets 文件 位置1 旧版本, 低版本的 as 或者从 eclipse 导入的项目,其中 assets 目的应该如下图assets 位于 所编辑moudle(大部分叫做app)的下一层,和源码,资源文件并列 若放置此处,需要在moudle 的 build 文件做一些配置2 新版本如果用 2.0.0 以上的 as 这时新建一

2017-05-03 14:18:36 5364

原创 Android Studio 上传 svn 很慢 Commit Dialog一直存在

好记性不如烂笔头问题描述: Android Studio 维护多个项目,其中有一个项目在上传 svn 时异常缓慢,修改一行代码就要等三五分钟一直处在这个dialog解决办法: 试了网上的几个方式都不太行,记录下自己的(重新check),办法比较耗时,很笨,而且不能保证解决所有人问题步骤: 没说的了,首先我把本地工程删除了,接下来check

2017-05-03 11:00:29 6517

原创 解决圆角dialog黑色(白色)背景问题

解决圆角dialog黑色(白色)背景问题 当把dialog的背景设置为圆角时,绝大部分会碰到四个角有不和谐背景的情况 网上解决办法很多基本上分为设置style,布局嵌套,设置window属性 也亲自尝试了一下,效果总是时好时坏,于是结合各方法做一次总结 要想实现圆角,dialog的布局(自定义)的根节点不能设置背景或者颜色,否则无论哪种方法都不能去掉圆角背景 最好是自定义dia

2017-04-24 14:52:00 3444

原创 mantis bug 管理平台 关于筛选一点记录

好记性不如烂笔头公司换了一个新的 bug 管理平台 mantis  这里记录一点关于筛选是使用

2017-04-24 14:45:38 1017

Preference的使用

详细介绍了系统中 Preference 各个控件的特性和使用方式

2017-05-18

android 个人开发 桌面 小图标

2017-04-24

PrinterShare破解版

Canon 打印机驱动软件 支持 图片 pdf wrod 等

2017-04-24

蓝牙调试工具

一款强大的 ble 调试工具 可以选择 service charact 设置通知 以各种形式发送命令

2017-04-24

FileHelper

一个简单工具类

2017-04-07

空空如也

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

TA关注的人

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