随笔分类 - Android
摘要:前言下拉刷新和上滑加载更多,是一种比较常用的列表数据交互方式。android提供了原生的下拉刷新容器 SwipeRefreshLayout,可惜样式不能定制。于是打算自己实现一个专用的。但是下拉刷新和上滑,非常考验对android布局与父子触摸机制的功底,因此参考gitHub上的一个热门的下拉刷新项...
阅读全文
摘要:先上个优化之后的fps图,丝滑流畅;具体实现请看最终优化后的app背景:一个通讯录app(开源地址),每次登陆时,针对每个用户,如果头像图片不在本地,则生成一个异步下载任务(AsyncTask)。tips:判断图片是否在本地,咱使用的方法:根据该图片的url,比如http://images0.cnb...
阅读全文
摘要:有一篇关于android线程讲的非常好,大家可以参考下,其中有一句话讲的非常好,就拿来做开篇之句:当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到...
阅读全文
摘要:本篇文章内容大部分是来源于本人实际开发中的心得总结,不是非常全面,咱才疏学浅,如果有错误的地方恳请各位指出哦~ android四大组件 四大组件包括:Activity(活动),Service(服务),BroadcastReceiver(广播接收器),ContentProvider(内容提供器) 他们
阅读全文
摘要:首先咱必须知道,activity是以栈(后进先出)的结构进行管理的。当活动A启动了活动B时,A被压入到栈内,B在栈的最顶层。当B调用finish()结束活动时,B从栈弹出,此时A在栈的最顶层。我们可以在AndroidManifest.xml文件的activity节点,通过指定android:laun...
阅读全文
摘要:软件背景:该app不是替代手机通讯录,而是对其一种补充。项目只是通讯录客户端,数据源是访问本地、还是访问远程服务器,由你来实现开源地址:http://git.oschina.net/yso/SmartCall已经开了本地版的分支:Local喜欢上手体验的可以先用本地版apk快速搭建服务端指导1:如果...
阅读全文
摘要:先看下效果图说下思路:1:监听来电广播2:根据来电号码,和本地数据库做匹配,有记录的,则提取出头像、名字、职位,生成悬浮窗3:监听来电广播,如果当前行为是空闲的(没有任何通话行为),则删除掉悬浮窗。tips:原先使用服务来监听,可惜在后台服务锁屏后一段时间很容易被杀死,试过各种办法无效,所以采用监听...
阅读全文
摘要:git的优点就不去多说了。阻碍咱新手体验它的唯一问题就是门槛太高,脚本看着像天书, 本文主要阐述的,就是如何在android studio上,也能像tfs那样,非常简单的操作,就能使用git进行版本管理 几个月用下来,咱每天要做的就是开始工作前,alt+下方向键,从服务端拉取数据;结束工作后,alt
阅读全文
摘要:1:Activity篇1.1向Activity传值关键点在于putExtra。如果传递类的话,记得类实现Serializable接口Intent intent = new Intent(FirstActivity.this, SecondActivity.class);intent.putExtra...
阅读全文
摘要:弹出View添加阴影效果 系统自带就有,在android studio上直接写入背景颜色 值得注意的是,这种阴影的尺寸,左右间隙之和是activity_horizontal_margin;上下:activity_vertical_margin 因此如果是对弹框尺寸比较敏感的(比如宽度和高度是手动计算
阅读全文
摘要:今天在RecyclerView列表里遇到一个情况,它包含300条数据,每项包含一个图片,发现在首次载入时,由于本地没图,请求网络的时候;快速滑动导致了图片错位、闪烁的问题。原理的话有一篇已经说的很清楚了,大家可以参考下下面是讲讲实际使用中,是怎么解决错位的问题。一般错位都是发生在耗时的http请求上...
阅读全文
摘要:完整代码,请参考我的博客园客户端,git地址:http://git.oschina.net/yso/CNBlogs在写博客园客户端的时候,突然想到,弄个知乎日报风格的简单清爽多好!不需要那么多繁杂的信息干扰视野。先贴上效果图,左边是知乎日报的,右边是本方案的本文所使用的ide是androidStud...
阅读全文
摘要:完整代码,请参考我的博客园客户端,git地址:http://git.oschina.net/yso/CNBlogs 关于阅读类的app,有个夜间模式真是太重要了。 那么有两种方式可以实现夜间模式 1:修改theme,重启activity 优点:正儿八经的夜间模式,配色看着舒服 缺点:图片刺眼、闪屏
阅读全文
摘要:原文链接:http://blog.sina.com.cn/s/blog_62ef2f14010105vi.html;仅对排版进行优化,更方便阅读第二行是自定义标签。格式如上,其中“xmlns:wen”冒号后面是标签名,在下面使用时(只对当前文件可用)“com.iteye.googlers”是你的工程...
阅读全文
摘要:效果图如下,就是状态栏和actionbar保持一致的颜色,非常漂亮1:在Activity的OnCreate函数 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) getWindow().addFlag...
阅读全文
摘要:今天遇到一种情况,抽屉式导航栏里的listView的点击事件没有响应点击事件。查看了下,原来是因为抽屉式导航栏的fragment声明,放在了内容fragment之前,导致点击动作被内容fragment给吞噬了。解决办法很简单抽屉式导航栏的fragment声明放在最后就好了。代码如下 ...
阅读全文
摘要:首先先花3秒时间,预览下下app的大概是做啥的,解决啥痛点的:)app:本地下载地址需求点:1:音量键可以拍照2:没有快门声、闪光灯3:锁屏下、或者是在其他程序界面都可以拍照思路:1:创建一个内容观察者(ContentObserver)来监听音量变化2:使用原生camera实现拍照3:同1技术总结:...
阅读全文
摘要:首先,我们来看看单位dp是怎么一回事,dp是一种单位,使用它,你可以在高、低分辨率上获得一样的空间表现,也就是说,它是像素无关的。dp计算公式:160*pix/ppi(pix是你要计算的高度或者宽度的分辨率,ppi是像素密度,超过320就是retina display)比如我们要在layout-sw...
阅读全文