SurfaceView也是继承自View,它和我们以前接触到的View(Button.TextView等)最大的不同是,SurfaceView可以有一个单独的线程进行绘制,这个线程区别于UI线程(主线程),因此SurfaceView绘制并不占用主线程资源. SurfaceView实现通常是自定义,继承SurfaceView并实现SurfaceHolder.Callback接口.使用SurfaceView,所有的绘图工作必须得在Surface 被创建之后才能开始,所以Callback 中的surf…
import android.app.Activity; import android.os.Bundle; import android.content.Context; import android.graphics.Color; import android.util.Log; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.view…
周末升级了墨迹天气,看着引导界面做的不错,模仿一下,可能与原作者的代码实现不一样,但是实现的效果还是差不多的.先分享一篇以前的文章,android动画的基础知识,<Android UI开发第十二篇——动画效果Animation(一)>,写的不好,读者也可以自行搜索下android动画相关知识.模仿墨迹天气的引导界面动画使用的android动画的基础知识. 实现墨迹天气向上滑动的viewpager使用的开源库ViewPager-Android.ViewPager-Android开源库设置app:…
前面写过<墨迹天气3.0引导界面及动画实现>,里面完美实现了动画效果,那一篇文章使用的View Animation,这一篇文章使用的Property Animation实现.Property Animation是Android3.0以后新增的动画库. 这篇文章的源代码以及效果在github. 实现墨迹天气向上滑动的viewpager使用的开源库ViewPager-Android. ViewPager-Android开源库设置app:orientation定义滑动方向. 墨迹天气引导界面共同拥有…
(国内知名Android开发论坛eoe开发者社区推荐:http://www.eoeandroid.com/) 在Android界面特效中如何做出和墨迹天气及UC中左右拖动的效果 相信这么多手机APP中大家对墨迹天气和UC浏览器并不陌生,几乎很多人手机里都装有这两款应用,其中墨迹天气还出现在湖南卫视<天天向上>的节目中,受到大家的一度热捧! 那么,作为一名Android开发人员,在Android界面特效中如何做出和墨迹天气及UC中左右拖动的效果呢? 今天就来为大家分享相关的Android开发源代…
在这里谈一下墨迹天气的换肤实现方式,不过首先声明我只是通过反编译以及参考了一些网上其他资料的方式推测出的换肤原理, 在这里只供参考. 若大家有更好的方式, 欢迎交流. 墨迹天气下载的皮肤就是一个zip格式的压缩包,在应用的时候把皮肤资源释放到墨迹天气应用的目录下,更换皮肤时新的皮肤资源会替换掉老的皮肤资源每次加载的时候就是从手机硬盘上读取图片,这些图片资源的命名和程序中的资源的命名保持一致,一旦找不到这些资源,可以选择到系统默认中查找.这种实现是直接读取了外部资源文件,在程序运行时通过代码显示的…
一个天气应用,曾被认为是要挑战国家气象局,网站也莫名其妙地被封,两个合伙人先后离开.创始人金犁是如何把这么一款工具类应用做到人所共知的? 采访 | 郑江波 翟文婷 文 | 翟文婷 出生时间:1982年12月30日 籍贯:沈阳 教育背景:大连交通大学毕业 创业城市:北京 创业次数:1次 首次创业年龄:26岁 前不久,“墨迹天气”的商务部接到个陌生来电,对方自称是湖南电视台<天天向上>节目组,邀请墨迹天气的创始人金犁上节目.接电话的人第一反应是,“又是骗子吧?”出于礼貌,此人象征性地请对方先发封信…
原文:Android经典项目开发之天气APP实例分享 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mzc186/article/details/53819371 引言 由于系统的天气App比较简陋,而从Android市场下载下来的天气App比如墨迹天气界面虽然美观,数据也比较详实,但是却非常多乱七八糟的广告,一不小心点错了就后台帮你偷偷下载.作为Android开发者当然理解这种利益诉求,但从一个用户的角度而言,我却认为这已经严重影响用户体验了…
  通过之前介绍的如何自定义View, 我们知道使用它可以做一些简单的动画效果.它通过不断循环的执行View.onDraw方法,每次执行都对内部显示的图形做一些调整,我们假设 onDraw方法每秒执行20次,这样就会形成一个20帧的补间动画效果.但是现实情况是你无法简单的控制View.onDraw的执行帧数,这边说的执 行帧数是指每秒View.onDraw方法被执行多少次,这是为什么呢?首先我们知道,onDraw方法是由系统帮我们调用的,我们是通过调用View的 invalidate方法通知系统…
SurfaceView使用介绍 SurfaceView是View的一个特殊子类,它的目的是另外提供一个线程进行绘制操作. 要使用SurfaceView进行绘制,步骤如下: 1.用SurfaceView进行绘制,首先要创建一个类,继承 SurfaceView,同时这个类应该实现SurfaceHolder.Callback接口. 这个接口中的三个回调函数(surfaceChanged(SurfaceHolder holder, int format, int width, int height),s…