android-杂记
文章平均质量分 95
android_小路
这个作者很懒,什么都没留下…
展开
-
Android 11 微信,QQ ,微博 分享适配
String filePath = context.getExternalFilesDir(null) + "/shareData/test.png"; // 该filePath对应于xml/file_provider_paths里的第一行配置:,因此才可被共享原创 2021-01-25 16:45:30 · 5483 阅读 · 3 评论 -
picasso 显示本地图片
感慨下,一开始搜索问题的时候,发现文章都没有说如何显示本地图片,都在说一些如何加载网络图片,本地图片直接放url 什么的,几乎找的文章都一样。很是郁闷,也有可能是我关键词有问题;关键时候还得看源码1.问题:一般我们获取到的完整路径: /storage/emulated/0/Android/data/xxxx.jpg, picasso.load(url) 直接将这个路径进行load 是显示不了的。原创 2017-03-26 15:45:55 · 9209 阅读 · 0 评论 -
Android View 分析requestLayout、invalidate与postInvalidate
1.前言:首先我需要了解 invalidate与postInvalidate 的区别,然后网上找了些资料,大多都是一个版本,负责点的排版整齐,不负责的排版直接很乱,一堆代码集中在一起,也没有解释清楚。无奈直接选择看源码,然后源码直接给出了区别invalidate 该方法的调用会引起View树的重绘,常用于内部调用(比如 setVisiblity())或者需要刷新界面的时候,需要在主线程(即UI线程)转载 2017-01-12 15:27:05 · 823 阅读 · 0 评论 -
android 正则表达式校验邮箱、手机号等
在登陆界面需要填写用户名,现在大部分用户名直接是手机号或者邮箱,所以就需要验证是否是邮箱地址,或者是否是正确的手机号。这样做可以减少和服务器交互的次数,提高效率。下面就提供一个工具类:/** * 校验器:利用正则表达式校验邮箱、手机号等 * * @author * */public class Validator { /** * 正则表达式:验证用户名 */原创 2016-12-28 16:02:31 · 11196 阅读 · 5 评论 -
android button 字母自动变大写原因以及属性总结
最近在写例子的时候,发现写一个button的时候,定义text属性为字母的时候,字母自动变大写了,而使用textView 的时候却没有这种情况,所以研究和总结下;效果如下:1.解决办法设置 textAllCaps 为false 就可以了,如上图;2.原因分析首先我看了下我这个例子的编译项目的版本,项目版本为5.0继续查看button 的源代码,使用的21 widget里面的button 属性因为这原创 2016-11-22 15:40:34 · 21291 阅读 · 3 评论 -
Android异常之Service启动Activity
在Activity中其中startActivity这个大家应该是非常熟悉的;那么从service里面调用startActivity话,会怎么样呢? 会出现下面的异常: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLA转载 2016-11-29 16:31:55 · 5817 阅读 · 0 评论 -
android 仿 ios 搜索界面跳转效果
最新写项目的时候,看到搜索界面的跳转基本都是点击搜索然后跳转到下个页面,android 微信上则是 类似toolbar的效果,而ios 上则是一个搜索框上移然后显示新界面的一个效果。仔细研究了下发现和android 的 共享元素的过渡实现 的效果很像,所以在此模仿下。但是 共享元素的过渡实现 是5.0以后才有的,兼容5.0一下需要自定义动画效果,查了些资料发现也是可以实现的。下面是效果图:1.实现思原创 2016-11-16 15:55:41 · 8788 阅读 · 12 评论 -
android idea(studio)下目录结构学习
在用 idea 创建项目的时候,我们会看到一堆的目录,增加了很多eclipse里面不具备的目录,而且目录结构也改变了。一般我们之关注特定的一些目录,而忽略的其他,当出问题的时候基本会茫然若失不知道如何解决,所以特地学习下目录结构。Project下的视图引用地址:https://github.com/siyehua/Adnroid-Notes/tree/master/Android%20Studio/转载 2016-10-31 16:22:21 · 10626 阅读 · 1 评论 -
android 全屏以及透明状态栏总结
一般启动页面的要求都是全屏显示,全屏显示可能会出现一个隐藏状态栏的动画,用户体验不是很好,现在基本都是做成透明的状态栏和ios 显示的效果一样,所以在此总结一下。下面是效果图,不是很明显是应为我全局设置的是透明的状态栏。1.全屏显示全屏显示有2中方法进行控制,一个通过代码,一个直接控制对应activity 的 theme.可能跳转的时候都存在隐藏过度的动画效果,个人感觉用户体验不是很好。1.1 代码原创 2016-10-28 14:58:55 · 9890 阅读 · 6 评论 -
android launchMode理解以及应用场景
在我们写应用的时候,常常涉及多个activity组件之间的跳转。比如说某个资讯的页面中,点击下一篇资讯跳转相同的页面,只有页面的数据不一样。一般情况下我不会注意launchMode 这个属性,只会使用默认的,这样会产生大量重复的activity。那是因为之前不了解,所以特此研究学习。1.如何指定launchMode基本上我们可以直接指定一个launchMode属性在AndroidManifest.x翻译 2016-10-27 17:51:33 · 8732 阅读 · 5 评论 -
android 读取excel 文件
在面对选择国家地区,选择手机号码区号等信息的时候,常常我们是读取已存好的数据,我现在读取的就是excel里面的数据,所以在此记录下读取的方法以及注意点。 下面就是读取国际地区手机区号的数据效果图: excel表格里面数据1.准备工作1.1 excel 表格 我在assets 下放的的excel 表1.2 读取excel 需要的jar 包下载地址:jxl 读取excel 需要的jar 包原创 2016-11-08 14:59:59 · 18308 阅读 · 33 评论 -
RESTful服务使用HTTP方法相关概念学习理解
HTTP动词包括我们的“统一接口”约束的主要部分,并且向基于名词的资源提供动作对应物。主要或最常用的HTTP动词或方法被称作,post,get,put,delete。这对应create、read、update、delete(或CRUD)操作。在那些不太频繁的方法中,options 和 head 使用得比其他方法多。1.什么是RESTful一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和翻译 2017-01-17 17:54:35 · 2505 阅读 · 0 评论 -
RoundedImageView 处理图片存在毛边的问题
现在用户的头像都是圆形的,所以大家都会用到圆形imageView 或者用第三方框架 直接处理。我这里是用的RoundedImageView,但是在处理的时候,发现一个问题,就是加载网络图片的时候完全没问题,就是处理默认的图片的时候,会存在毛边,如图:一开始我以为是默认图片的问题,于是查看xml 和默认图片:<!-- android:scaleType="fitXY" 只有设置才不会有毛边,其他都存原创 2017-03-26 15:17:06 · 3525 阅读 · 0 评论 -
RecyclerView item 可展开动画效果的实现
RecyclerView item 可展开动画效果的实现前文提要:1.相关说明:1-1.布局文件:1-2.动画工具类说明(代码我基本上都添加了注释):1-3.问题:2.如何使用:2-1.viewHoler 需要实现 ExpandableViewHoldersUtil.Expandable 接口2-2.adapter2-3.ExpandableViewHoldersUtil3.结束:前文提要:A...原创 2019-06-30 20:23:52 · 11549 阅读 · 10 评论 -
Android 适配6.0 权限检查(PermissionsUtils 相关的辅助类),8.0 ActivieAndroid安全性ContentProvider 问题
前言:最近华为应用市场要求 app targetSkdVersion 要提高到26以及26以上,在期限内可以上架26以下的app ,在期限外就不给上架 等信息,所以直接把app 升到26 (8.0).1.适配6.0 权限检查首先是自己写了一些权限检查的东西,相关流程就 先检查权限,然后根据结果去处理,再重写onRequestPermissionsResult//第一步检查权限pub...原创 2019-04-10 11:15:46 · 2752 阅读 · 0 评论 -
Android 上下滚动(跑马灯)效果实现
产品的有个需求是 文字上下滚动,第一想到的是用属性动画实现,2个TextView 切换滚动,网上看了一堆资料大部分都是 TextSwitch,写博客不贴效果图真的是很惆怅,不知道具体效果如何,第一次进入切换是否有问题,还有就是最后一个切换到第二个是否有问题,动画是否流畅等,啥都看不到。所以还是按照第一个想法,找到了类似的做法,但是好像有点问题,于是修改一番,效果图如下:(gif帧率有点低,不是很顺...原创 2018-11-15 16:26:15 · 12688 阅读 · 6 评论 -
PopWindow 展开带阴影平移动画
前:在看设计图的时候,设计师说需要一个弹出层在指定位置,渐出,背景带阴影层,第一个想到的是 popWindow ,但是pop 并没有阴影层,直接是一层覆盖在上面。仔细一想带阴影也是可以,但是渐渐出现的动画如何和背景阴影协同展示,是个问题。所以查阅了一些资料,以及填了一些坑。完成了最终的效果。效果如下:1.首先需要注意的是 showPopupWindow 这个方法在不同android...原创 2018-09-26 15:36:54 · 4058 阅读 · 0 评论 -
浅谈Android进阶之路(转)
首先附上转载连接 浅谈Android进阶之路,最近可能处于迷茫阶段,不知道如何提升自己的技能,工作之余 Kotlin 也在看,go 语言也有意向去学习,没有一个方向,看了这篇文章,大致有个方向,转载分享下!对我还有些帮助,希望对各位看官也有所帮助。过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期、成长期、成熟期、现在来说已经进入饱和期。依...转载 2018-06-26 14:25:38 · 332 阅读 · 0 评论 -
小米手机 布局出现白色边框,黑色背景等(适配)
前言:eidtText 在小米手机上出现 白色边框条,在华为 三星 等手机上都没有出现这个问题,特地记录下 适配的问题直接 在搜索 部分出现白色的边框,查看代码<RelativeLayout android:id="@+id/et_search_root" android:layout_width="wrap_content" android:layo原创 2018-04-02 11:19:51 · 8894 阅读 · 0 评论 -
android 手机号码特殊显示(带空格或者* 号)
前言:现在app 内部手机号码显示的格式都是 151 1111 1111 或者 151 xxxx 1111,这样显示更加方便显示以及阅读,主要处理逻辑就是对字符串的增加和替换,也不是很难,记录下。 1. 151 1111 1111 中间用空格区分显示我这里是直接写了一个类似格式的控件,在输入字符之后进行处理下面是完整的代码,主要逻辑就是 format 里面对字符传的处理import android原创 2018-03-14 16:46:48 · 4956 阅读 · 0 评论 -
WebView 加载https 白屏以及重定向加载
前言:今天在处理app 内广告跳转的问题时候,遇到官网 公司官网 https 点击打不开的情况,因为公司官网在手机页面上会重定向到手机版的页面去,处理到最后发现是一个细节导致的,特地记录下解决过程。1.针对正常的webView 加载内核:(参考摘录地址)1-1. 启用mixed content在Android5.0中,WebView方面做了些修改,如果你的系统target api为21以上:系统默...原创 2018-03-06 18:29:47 · 8705 阅读 · 0 评论 -
TextView 中确定 ClickableSpan 的具体位置
现在有一个需求是 TextView 中要有特殊的字符加颜色还需要可以点击弹出pop,点击跳转和改变颜色 这个需求 ClickableSpan 就可以胜任。但是找到具体位置就有点困难。1.确定 ClickableSpan 的具体位置注意 需要 加上 textView.setMovementMethod(LinkMovementMethod.getInstance());表示可以点击的Spannabl原创 2017-03-26 16:13:25 · 2266 阅读 · 2 评论 -
MVC、MVP、MVVM 初探(二)--- MVP模式
按照MVC的分层,Activity和Fragment(后面只说Activity)应该属于View层,用于展示UI界面,以及接收用户的输入,此外还要承担一些生命周期的工作。Activity是在Android开发中充当非常重要的角色,特别是TA的生命周期的功能,所以开发的时候我们经常把一些业务逻辑直接写在Activity里面,这非常直观方便,代价就是Activity会越来越臃肿,超过1000行代码是常有原创 2016-09-29 17:59:43 · 570 阅读 · 0 评论 -
MVC、MVP、MVVM 初探(一)--- 基本概念
最近在看腾讯互动直播的源代码的时候,发现由以前的mvc 直接变成了mvp,而且mvp 的设计模式在越来越火,很受欢迎。还有就是mvvm, 发现和 recycleView 的adapter 十分的相似,双向数据绑定。前段时间,前端的同事突然问起 mvp,mvvm。也就大概的说了自己粗略的了解,所以特地上网查了资料,学习记录下。1.什么是MVC (Model-View-Controller)MVC全名是原创 2016-09-27 16:07:08 · 1258 阅读 · 0 评论 -
android 飘心动画(直播点赞)效果(三)---相关知识点整理
这篇文章是关于 android 飘心动画(直播点赞)效果 相关知识点的整理,应为我对动画相关的部分,不是很熟悉,所以对于第一篇文章上面所涉及的只是进行了总结和整理。1.android 自定义view之 onMeasure()可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何原创 2016-09-06 10:08:27 · 2425 阅读 · 0 评论 -
获取actionBar 的高度,状态栏高度,view.getLocationxxx()的总结
最近在写控件的时候,需要获取view 距离顶部的位置,一般view.getLocationOnScreen(p) 但是这个是全屏的获取坐标,需要减去actionbar 的高度和状态栏的高度,有时候会存在偏差,直接view.getTop()就可以直接获取到准确的值,所以总结记录下。1.获取actionBar 的高度的方法int actionBarHeight = 0;TypedValue tv =原创 2016-04-22 10:51:17 · 3622 阅读 · 0 评论 -
Material 中的SearchView的学习和研究
继TextInputLayout 之后,继续研究Material SearchView的使用。下面附上效果图: 动态图: 静态效果图: 1.材料设计风格的 2.开源框架的: 一 在Toolbar 中直接添加SearchView :1.menu_main.xml 添加相关的布局文件<menu xmlns:android="http://schemas.android.com/apk/原创 2016-04-29 18:38:02 · 4281 阅读 · 0 评论 -
listView 上拉加载更多 和 加载样式的自定义
listView 的下拉刷新,现在基本都是用的 材料设计的 SwipeRefreshLayout 使用起来很方便,上拉加载主要是listView 滚动位置的判断,但是 加载样式的样式却是各式各样。下面是我使用的一种上拉的加载样式:1.加载样式的自定义主要是 圆形进度条的自定义的部分:1.1 xml 布局 <?xml version="1.0" encoding="utf-8"?><Linear原创 2016-05-24 15:48:02 · 1015 阅读 · 0 评论 -
Android 软键盘自动弹出和关闭
在我们写修改信息或者搜索,修改密码等界面的时候,用户进入这个界面的主要目的就是输入修改/查找 某些信息,为了用户体验应该自动弹出软键盘而不是让用户主动点击输入框才弹出。1.软键盘的自动弹出private void showKeyboard(){ InputMethodManager inputMethodManager = (InputMethodManager) getSystem原创 2016-05-10 16:24:35 · 33165 阅读 · 4 评论 -
CoordinatorLayout初体验以及标题栏下方图片的回弹效果
最近在研究material design ,了解到 CoordinatorLayout 这个布局,所以研究和学习下,写了个demo.加上拓展仿照了一个标题栏下方图片的回弹效果,但不是使用CoordinatorLayout 实现的,下面看图:第一个效果是使用了CoordinatorLayout的布局什么是CoordinatorLayout的布局http://blog.csdn.net/xyz_lm原创 2016-04-11 17:49:04 · 9443 阅读 · 0 评论 -
TextInputLayout使用以及自定义颜色
继CoordinatorLayout之后,继续研究 material design 的相关控件TextInputLayout,下面是效果图:1.gradle 配置 compile ‘com.android.support:design:22.2.0’ compile ‘com.android.support:appcompat-v7:22.2.0’2.xmlprivate android.原创 2016-04-12 20:05:41 · 17123 阅读 · 3 评论 -
retrofit 如何查看日志
retrofit 查看日志近期在学习 retrofit+rxJava 这个框架的时候,下面是我学习的网站: http://gank.io/post/56e80c2c677659311bed9841?from=timeline&isappinstalled=0&nsukey=g1D1Y6PMp3BW%2B0%2F%2Butx4StSJxcUCTm4%2BN8T7LnPNCCeQEY1lzm6oKv原创 2016-03-25 15:00:48 · 2533 阅读 · 0 评论 -
解决我遇到的 finished with non-zero exit 的问题
在用gradle 编译的时候突然出现下述问题:Error:Gradle: Execution failed for task ‘:xxx:processDebugResources’. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘comman原创 2016-03-10 16:18:48 · 7938 阅读 · 0 评论 -
EditText 限制字数几种方法
EditText 限制字数几种方法这是2015年的12月31号,以前一直有写博客的冲动,但是由于比较懒,记录的都在其他地方,gitbook也了解过,cdsn 注册了一年多了,写博客是用的markdown ,对于我来说比较陌生,一直拖着。直到2015年的最后一天,才开始写。好了,废话不多说。下面介绍的是具体的几种方法方法一 在xml中直接限制字符的长度 android:maxLength="原创 2015-12-31 17:44:04 · 7830 阅读 · 1 评论 -
Multiple dex files define Landroid/support/annotation/AnimRes
今天在写友盟推送的时候,因为测试模式下的设备总是报红,可能是onAppStar 没有注册好,可能是没有用官方的v4包等等,各种原因。下面就是我添加官方的v4 包和本地gradle dependences 冲突的解决办法:1.首先查看项目 gradle的依赖是否用到重复的包 我在查看依赖的时候,发现依赖包里面存在v4 的冲突, 通过 exclude mode: ‘support-v4’除去里面使原创 2016-05-19 20:44:33 · 2478 阅读 · 0 评论 -
Couldn't load vi_voslib from loader dalvik.system.PathClassLoader
原因分析:在做推送的时候,增加了armeabi,armeabi-v7,x86的so 文件的时候,突然就出现如题的错误; 原因是jnl 在处理so 的时候,看到你 armeabi,armeabi-v7 等包的时候,都会创建这2个东西, 我遇到的原因是:先前在用到了armeabi 这个包里面的so 文件,没有 armeabi-v7,x86 等文件夹,现在推送的时候增加了相关的文件夹,而没有把我之前相原创 2016-05-19 20:55:04 · 713 阅读 · 0 评论 -
腾讯互动直播1.7横竖屏切换以及画面颠倒问题解决
在使用腾讯互动直播的时候,Android 版本1.7demo里面直播端和观众端手机屏幕的旋转都做了监听,这样就会导致一个问题,就是直播端横屏直播了,但是观众端是竖屏的,看到的就是小屏幕,所以我这里的解决方案就是不监听横竖屏的切换,还有就是画面颠倒,重设镜像就可以了。下面是具体的问题;问题1:直播端横竖屏切换的时候,观众端不动,会看到小屏幕的情况这种情况就是,直播端横屏直播了,但是观众端是竖屏看的,导原创 2016-06-08 18:14:12 · 8623 阅读 · 4 评论 -
android 解析本地中国城市列表的辅助类
我们在写项目时,有时候会需要用到显示中国城市列表,区域列表甚至邮政编码等。比如我最近在做的就是在popwindow 显示中国城市,然后二级显示城市区域列表,还有就是收货地址,买票填写的地址等等,都需要省市区的联动。所有我这里直接写了个本地城市xml 数据解析的辅助类。至于滚轮实现城市联动会在以后介绍。下面就是popwindow的一个例子,这里是介绍的是解析数据的方法。1.首先需要一个中国省市的数据列原创 2016-08-23 10:52:01 · 3912 阅读 · 3 评论 -
android 飘心动画(直播点赞)效果(二)---贝塞尔曲线的实现
上篇文章 android 飘心动画(直播点赞)效果 只有代码,没有相关的说明。因为我自己也没有看懂,所以参照网上另一篇关于贝塞尔曲线实现 飘心动画的效果,目的就是 便于理解上篇文章代码的思路,然后写个关于飘心动画的自己的理解。下面是我参照的文章:一步一步教你实现Periscope点赞效果,—文章出自简书。 我也是是依葫芦画瓢,所以就定义为转载的文章,只是文章里面加了些自己理解的东西。效果图如下:1.转载 2016-08-31 15:04:28 · 11724 阅读 · 0 评论 -
android 飘心动画(直播点赞)效果
前段时间在写直播的时候,需要观众在看直播的时候点赞的效果,在此参照了腾讯大神写的点赞(飘心动画效果)。下面是效果图:1.自定义飘心动画的属性在attrs.xml 中增加自定义的属性<!-- 飘心动画自定义的属性 --> <declare-styleable name="HeartLayout"> <attr name="initX" format="dimension"/>原创 2016-08-30 16:24:13 · 12907 阅读 · 5 评论