![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android学习之路
文章平均质量分 64
披萨大叔
某程票贩子,主业做菜,副业代码,兼职铲屎官
展开
-
关于HandlerThread类的学习心得
http://blog.csdn.net/qq_27258799/article/details/50854175这篇帖子讲过Looper、Handler之间的关系,也说过Looper的加入,可以是一个线程升级为Looper线程,可以持续接收消息并执行一些事务,比如可以用来做图库,显示手机照片。Looper线程的升级,使用方法大概是这样:public class MyThread exte原创 2016-03-16 21:38:19 · 454 阅读 · 0 评论 -
使用SVG路径图制作线追踪特效
近期看了几篇三精-大精wing的“交互炸了”系列文章,收获颇多,这里学习记录一下。本篇主要记录如何动态绘制曲线,从而形成很精致的特性,先上图:知识点一览:SVG简介SVG路径如何制作并使用SVG路径图如何动态绘制曲线如何制作GIF图SVG简介SVG 意为可缩放矢量图形(Scalable Vector Graphics),使用 XML 格式定义图像。其优势: SVG 可被非常多的工具读取和原创 2017-01-05 17:46:56 · 6668 阅读 · 0 评论 -
一周项目知识点总结
本周做了不少需求,这里记录下,此间遇到的知识点。ViewPager速度的控制重写equals和hashCoderadioButton自定义样式属性动画ViewPager速度的控制在项目中经常遇到产品这样的需求:要自定义控制ViewPager滑动的速度,而原生ViewPager滑动的速度是无法更改的,因此这里的解决方式是用反射替换ViewPager中的Scroller。首先自定义一个暴露滑动速度原创 2017-07-13 17:03:37 · 553 阅读 · 0 评论 -
自定义实现带三角下标的TabLayout
在开发中,我们常常需要ViewPager结合Fragment一起使用,如下图:我们可以使用Design support library库的TabLayout去实现,但是TabLayout只能用横线指示器,如果想要其他指示器,比如三角下标,该控件就不能用了。我们可以找网上成熟的轮子进行修改,比如:PagerSlidingTabStrip楼主这里在项目中需要用到带三角下标的TabLayout,亲身研究了原创 2017-07-06 15:35:27 · 3099 阅读 · 5 评论 -
Android 点9图的绘制
项目中遇到需要绘制自由拉伸的Bitmap,踩了一些坑,这里记录一下。绘制点9图踩的坑最开始使用的是canvas.drawBitmap方法,让UI切了点9图,然后使用:Bitmap.createScaledBitmap()对Bitmap进行拉伸,然后发现点9图失效了,图片失真!思考了一下,此接口是直接对图片进行缩放,没有照顾点9图的特性,既然Android有点9图,那一定有对应的绘制接口,然后开始寻找原创 2017-08-31 16:27:52 · 2667 阅读 · 1 评论 -
Weex环境配置以及踩坑记录
公司这半年开始在Weex上发力,作为新人自然要赶紧学习一下。这周照着官网教程配置环境,发现官网的教程过于顺畅,期间有不少坑,都没说明,一路摔得头破血流,在这里记录一下。我是Weex官网Weex 官方提供了 weex-toolkit 的脚手架工具来辅助开发和调试。首先,你需要 Node.js 和 Weex CLi,下面都是针对Windows环境的。安装Node.js首先在Node.js官网下载安装No原创 2017-08-27 21:56:24 · 3916 阅读 · 0 评论 -
github使用SSH Clone工程避免多次输入用户密码
RT,用HTTPS方式Clone工程以后,每次pull都要输入用户名和密码,而使用SSH就可以免去烦恼。新建SSH目录 ssh-keygen -t rsa -C “your email”一路回车,直到出现这句话:“Enter file in which to save the key(/c/Users/wk/.ssh/id_rsa)”id_rsa是默认公钥。查看当前存在的SSH ls -a原创 2017-11-01 13:33:43 · 870 阅读 · 0 评论 -
可自定义图片指示器并支持自定义Tab宽度的TabLayout
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布Tab栏是APP中最常用的组件,如果我们没有太多个性化需求,直接用TabLayout就可以轻松实现。但是如果我们的产品大大说不想用一条线作指示器了,想用个图片。或者像我们产品一样,想在主页展示4个半Tab(一共5个)时,原生TabLayout就不能满足了。而前面我发过一篇,自定义三角下标的tablayout,来实现类似于今日头条tab原创 2017-11-01 14:42:15 · 6164 阅读 · 5 评论 -
Android新特性介绍,ConstraintLayout完全解析
本文转自郭霖CSDN博客:http://blog.csdn.net/guolin_blog/article/details/53122387本篇文章的主题是ConstraintLayout。其实ConstraintLayout是Android Studio 2.2中主要的新增功能之一,也是Google在去年的I/O大会上重点宣传的一个功能。我们都知道,在传统的Android开发当中,界面基本都是靠编转载 2017-11-03 13:00:49 · 359 阅读 · 0 评论 -
Android内存泄漏分析大全
本文转自——博客园,谦虚的天下感觉讲的非常好,看完以后有很多启发,在这里Mark并推荐一下。原文传送门:http://www.cnblogs.com/qianxudetianxia/p/3645106.htmlContext作为最基本的上下文,承载着Activity,Service等最基本组件。当有对象引用到Activity,并不能被回收释放,必将造成大范围的对转载 2016-03-10 09:19:27 · 1415 阅读 · 0 评论 -
.9图讲解
转自:http://www.cnblogs.com/vanezkw/archive/2012/07/19/2599092.html什么是.9图片至于什么是.9图片这里就简单提一下,即图片后缀名前有.9的图片,如pic.9.png、pic1.9.jgp,诸如此类的图片就称为.9图片。.9图片的作用①.9图片的作用是在图片拉伸的时候特定的区域不会发生图片失真,至于哪些部分不会失真那么得看你的图片是如何绘转载 2016-12-07 15:59:24 · 690 阅读 · 0 评论 -
自定义Toolbar样式,带你出坑
今天在玩Translucent Bar时,看见Toolbar默认的黑色实在扎眼,就像改变个颜色,可是没想到竟然踩了一个有一个坑,这里记录一下。最开始是如下配置: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent"原创 2016-08-25 18:23:34 · 1636 阅读 · 0 评论 -
OSChina1.7.4源码学习笔记(未完)
OSChina1.7.4 整体来说是个小规模的APP,由于版本过于陈旧(12年的),所以没有太炫的技巧,这里仅供自己学习、记录。主体布局,最上边是一个header,不解释。最下边的footer是一组RadioButton,内含四个按钮+一个imageView分割线。每个RadioButton对应一个PullToRefreshListView,装载中间的正文内容,下拉刷新体验较差。PullToRef原创 2016-03-29 14:43:12 · 454 阅读 · 0 评论 -
在myEclipse上,基于jetty的android服务端环境配置
一般我们在家里调试android前端的时候,可以用外网的服务器,但更多用公司服务器部署好的服务,便于调试。它的流程是:手机发送信息,公司服务器接收,内部处理,反馈给手机。当我们需要改服务,调试服务的时候,就要用自己的电脑跑服务,这个时候的流程应该是:手机—自己的电脑接收并处理—反馈。如此就要部署服务环境,让我们自己的电脑变成服务器。现在一般有两种方式:tomcat和jetty,这里仅描述jetty原创 2015-10-09 15:31:18 · 803 阅读 · 0 评论 -
安卓SDK无法更新解决方案
第一种:1、修改hosts文件,hosts文件在C:\Windows\System32\drivers\etc下,修改为:127.0.0.1 localhost#Google主页203.208.46.146 www.google.com#这行是为了方便打开Android开发官网 现在好像不VPN也可以打开74.125.113.121 developer.android.co转载 2016-03-03 20:44:49 · 438 阅读 · 0 评论 -
ListView滑动刷新之SwipeRefreshLayout
SwipeRefreshLayout组件只接受一个子组件:即需要刷新的那个组件。如果要展示一个“刷新动画”,它必须调用setRefrshing(true),否则取消动画就调用setRefreshing(false)。@Overrideprotected void onCreate(Bundle savedInstanceState) { sup原创 2016-03-03 20:52:53 · 519 阅读 · 0 评论 -
Service小结
Service要在AndroidManifest.xml中静态注册,当然也可以在代码里动态注册。每个Service中写一个receiver,用于接收广播。一般在onCreate方法中注册receiver,初始化全局变量。一般在onStartCommand方法中进行逻辑处理。一般在onDestroy方法中销毁资源并反注册receiver。如果Activity要和Service进行通信,要实现以下原创 2016-03-03 20:53:55 · 458 阅读 · 0 评论 -
我的Android之路
先说说博主的背景,之前非计算机相关专业,只自学过C++,Java跟数据结构,可以说是个编程门外汉,在武汉读研,专业是GIS。研一期间在老师公司实习,大概是15年1月跟着一位学长学Android,当时完全是一片迷茫。学长上来就给我一个项目,公司用的arcgis for android,给我做的是地图断面分析模块,我只负责查询结果的UI展示,无非就是XML解析,canvas绘制二维图形和view的手势监原创 2016-04-01 11:56:45 · 379 阅读 · 0 评论 -
Android中静态成员变量的生命周期
看了网上好多帖子都说到,Android中静态成员变量是在类被load的时候分配内存的,一般情况下,所有的类都是默认的ClassLoader加载的,只要ClassLoader存在,类就不会被卸载,而默认的ClassLoader生命周期是与进程一致的,所以结论是当进程销毁时,类中的静态成员变量才会被回收。但是自己印象流总觉得,比如Activity中的一个静态成员变量,Activity被销毁了,它也原创 2016-03-09 15:12:09 · 1769 阅读 · 0 评论 -
Android官方MVP架构示例项目解析
前段时间Google在Github推出了一个项目,专门展示Android引用各种各样的MVP架构,算是官方教程了。趁着还新鲜,让我们来抛砖引玉一探究竟,看看在Google眼里什么样算是好的MVP架构。 App架构在Android开发者中一直是讨论比较多的一个话题,目前讨论较多的有MVP、MVVM、Clean这三种。google官方对于架构的态度一直是非常开放的,让开发者自主选择组织和架构app转载 2016-05-05 10:59:40 · 423 阅读 · 0 评论 -
Xms Xmx PermSize MaxPermSize的含义
参数的含义 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了 -Xms128m JVM初始分配的堆内存 -Xmx512m JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M JVM初始分配的非堆内转载 2016-06-06 23:37:05 · 19638 阅读 · 2 评论 -
为什么我突然消失,因为我搬新家啦~
一直想自己搭个博客玩玩(就是眼红别人装逼),终于在上个周末行动起来了。用hexo+github搭了个雏形,主题用的是Casper,现在刚装修好,功能还需要一点一点完善。虽然折腾了点,但是还真是乐在其中,欢迎大家去新家看看。新家地址...原创 2019-01-30 00:05:35 · 372 阅读 · 0 评论