android 开发 View _11_ xml动画】的更多相关文章

请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/39996643 谢谢! 一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resources> 1.XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rot…
目录: android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览 android 开发 View _3_ View的属性动画ValueAnimator android 开发 View _4_ 我的简单自定义ViewDemo android 开发 View _5_ Paint详解 android 开发 View _6_Canvas详解 android 开发 View _7_ 动态自定义View android 开发 View _8_ 动态图片自定义Vi…
介绍两种Android开发中获取xml文件的输入流对象 第一种:通过assets目录获取 1.首先是在Project下app/src/main目录下创建一个assets文件夹,将需要获取的xml文件放进去 2.在代码中获取AssetManager AssetManager am = this.getAssets(); 3.调用AssetManager的open方法即可获取到对应xml的流对象 InputStream is = am.open("weather.xml"); 第二种:通过…
四种补间动画: 1.透明: 2.缩放: 3.位移: 4.旋转: //点击按钮 实现iv 透明的效果 动画 public void click1(View v) { //1.0意味着着完全不透明 0.0意味着完全透明 AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f); aa.setDuration(2000); //设置动画执行的时间 aa.setRepeatCount(1); //设置重复的次数 aa.setRepeatMode(Animati…
补间动画(Tween Animation) 补间动画与逐帧动画在本质上是不同的,逐帧动画通过连续播放图片来模拟动画的效果,而补间动画则是通过在两个关键帧之间补充渐变的动画效果来实现的.补间动画的优点是可以节省空间. 目前Android应用框架支持的补间动画效果有以下5种.具体实现在android.view.animation类库中. AlphaAnimation:透明度(alpha)渐变效果,对应<alpha/>标签. TranslateAnimation:位移渐变,需要指定移动点的开始和结束…
0. 前言   Android开发中,我们常常需要View滑动实现一些绚丽的效果来优化用户体验.一般View的滑动可以用三种方式实现. 转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52473373 1.   ScrollTo/ScrollBy View提供了ScrollTo/ScrollBy专门用于View滑动,前者作用是将View的左上角坐标置为设定值,后者看下面源码可以看出,实现的是基于当前位置的相对滑动.源码展示如下: p…
因为和同学分开做的android软件,现在想整合他做的界面部分,于是拷贝了res和src文件夹的文件,其中包括一个res.menu文件夹中的XML.但是每次将该文件导入到工程总无法自动在R.java中生成相应的ID. 上网找了两种方法: 第一种:使用项目(project)->clean……清除之后重新build项目.当我clean之后发现R.java文件被删除了,然后无论我怎么重新运行也不能再自动生成出来.于是乎……悲剧了,重新建了新工程并使用其他方法了! 第二种:右击菜单中的该工程选择Andr…
转载地址:https://blog.csdn.net/lemonrabbit1987/article/details/47704679 View类代表用户界面组件的基本构建块.一个View占据屏幕上的一块方形区域,负责该区域的绘图或事件处理.View类是用来创建交互式UI界面的所有部件的基类. 一个窗口的所有View以树形的方式组织.可以通过代码创建和组装View的方式或者通过编写一个或多个XML布局文件的方式搭建View树.View的具体子类可以作为控件或者显示文本.图像或者其他内容. 一旦创…
0.前言 今天看到一个概念是View的生命周期,有点懵逼,听说过Activity的生命周期,Fragment的生命周期,对View的生命周期好像没什么概念啊.难道layout.draw这些也算是生命周期的方法吗?因此查阅.整理了一些资料,有了此文. 1.View生命周期相关方法 View的生命周期从构造方法开始依次执行以下几个方法,该View的可见性为默认值时: (0)Constructors() View在代码中被创建时调用第一种构造方法,View从layout中加载出来时会被调用第二种构造方…
0. 前言   我们在Android开发--事件分发机制详解中深入学习了事件分发机制,为我们解决Android开发中的滑动冲突问题做了初步准备.针对滑动冲突这里给出两种解决方案:外部拦截法和内部拦截法. 转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52600422 1.外部拦截法 外部拦截法是指事件都先经过父控件的拦截处理,这里需要注意的是ACTION_DOWN事件父控件中必须返回false,因为如果父控件拦截了DOWN,后续事…
支持:https://www.cnblogs.com/whoislcj/p/5738478.html translationX的效果: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_view_demo); view2 = (MyView_1)findViewById(R.id.MyView2);…
0. 前言   Android动画是面试的时候经常被问到的话题.我们都知道Android动画分为三类:View动画.帧动画和属性动画. 先对这三种动画做一个概述: View动画是一种渐进式动画,通过图像的平移.缩放.旋转和透明度等各种渐进式变换完成动画效果. 帧动画是通过不停的切换图片实现动画效果. 属性动画是不停的改变对象的属性来实现动画效果.本文原创,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52724655 1.  Vi…
ValueAnimator ValueAnimator继承自抽象类Animator.要让属性动画渐变式地更改对象中某个属性的值,可分两步操作:第一步,动画需要计算出某一时刻属性值应该是多少:第二步,需要将计算出的属性值赋值给动画的属性.ValueAnimator只实现了第一步,也就是说ValueAnimator只负责以动画的形式不断计算不同时刻的属性值,但需要我们开发者自己写代码将计算出的值通过对象的setXXX等方法更新对象的属性值. ValueAnimator中有两个比较重要的属性,一个是T…
(1)我们在MainAcitvity中定义两个textview,用于点击触发切换Activity事件,下面是布局文件代码. <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/top_bg" android:orientation="horizonta…
gif 图动画在 android 中还是比较常用的,比如像新浪微博中,有很多 gif 图片,而且展示非常好,所以我也想弄一个.经过我多方的搜索资料和整理,终于弄出来了,其实 github 上有很多开源的 gif 的展示代码,我下载过几个,但是都不是很理想,不是我完全想要的.所以有时候就得自己学会总结,把开源的东西整理成自己的,现在无聊,也正好有朋友需要,所以现在整理了一下,留着以后备用! 在这里主要用的是: android 中的 android.graphics.Movie 这个类,这是 and…
1)第一种,也是最长见的添加方法(一下都以Button为例) Button btn = (Button) findViewById(R.id.myButton); btn .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //do something } }); 2)第二种,下面这个方法较前一种稍微简单了一些,允许多个Buttons共享一个Listener.通过Switch控制对不同But…
方法一: /* 实现思维是这样的: 1.首先拿到bitmap图片 2.得到bitmap图片的高度 宽度,并且计算好各个画图尺寸 3.创建一个空白的 bitmap图片: Bitmap output = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 4.将这个空白图片导入画布里 5.然后重点: 这个画布一定是要设置成透明的 6.在这张透明的画布上画圆型. 7.然后重点:设置相差裁剪属性 8.然后在这张透明的画布上添加bitm…
转载https://blog.csdn.net/huaxun66/article/details/52352469 MotionEvent MotionEvent对象是与用户触摸相关的时间序列,该序列从用户首次触摸屏幕开始,经历手指在屏幕表面的任何移动,直到手指离开屏幕时结束.手指的初次触摸(ACTION_DOWN操作),滑动(ACTION_MOVE操作)和抬起(ACTION_UP)都会创建MotionEvent对象,每次触摸时候这三个操作是肯定发生的.移动过程中也会产生大量事件,每个事件都会产…
转自:http://blog.sina.com.cn/s/blog_628b45090100zuit.html 在开发Android应用时,会接触到布局文件,一般在 工程名/res/layout/*.xml 目录下,这与网页开发时使用css控制布局类似,主要目的是使布局与程序代码分开,便于布局的修改以及控制.        如果使用eclipse平台开发,每一个Android项目,都会有一个R.java文件,该文件用于标识所有的资源,当资源文件(一般是位于res目录的下的*.xml文件)被修改了…
为什么需要把应用中出现的文字单独存放在string.xml文中呢? 一:是为了国际化,Android建议将在屏幕上显示的文字定义在strings.xml中,如果今后需要进行国际化,比如我们开发的应用本来是面向国内用户的,当然在屏幕上使用中文,而如今我们要让应用走向世界,打入日本市场,当然需要在手机屏幕上显示日语,如果没有把文字信息定义在string.xml中,就需要修改程序的内容了.但当我们把所有屏幕上出现的文字信息都集中存放在string.xml文件之后,只需要再提供一个string.xml文…
0. 前言   View的绘制流程从ViewRoot的performTraversals开始,经过measure,layout,draw三个流程,之后就可以在屏幕上看到View了.上一篇已经介绍了View和ViewGroup的measure的源码解析过程,本篇介绍measure后如何获得View的宽和高,以及layout和draw的过程. 本文原创,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52742887 1.  获取Mea…
xml在开发中的作用不可小觑,很多时候我们都要用到这种文件,所以学习它的解析方式很是必要. 我们都知道java中xml的解析有:dom,SAX,但是Android下我们使用pool解析,是更为方便,而且有专门的api可以使用. dom:一次加载到内存,生成一个树状结构,消耗的内存较大 SAX:基于事件,速度快,效率高,不能回退. 1,首先我们需要定义出来解析器,它的定义方式,是通过Xml new出来的,这点要记着. XmlPullParser parser = Xml.newPullParser…
原文地址:http://blog.sina.com.cn/s/blog_706c449f01011s3v.html overridePendingTransition 在startActivity()或finish()后,调用overridePendingTransition(R.anim.**in,R.anim.**out)方法. 一)实现淡入淡出的效果如下: startActivity(new Intent(SplashActivity.this, MainActivity.class));…
自定义动画,需要新建一个类,继承Animation类. 重写applyTransformation()方法和initialize()方法. applyTransformation(float interpolatedTime, Transformation t)方法中 第一个参数:interpolatedTime代表动画的时间进行比.不管动画实际的持续时间如何,当动画播放时,该参数总是自动从0变化到1. 第二个参数:Transformation t代表了补间动画在不同时刻对图形或组件的变形程度.…
/** *@content:实现计步的环形View *@time:2018-7-30 *@build: */ public class CountStepsAnnularView extends View { private final String TAG = "CountStepsAnnularView"; //文字组 private String mAimText; private float mAimNum;//目标步数 private String mStepText; pr…
package net.yt.yuncare.widgets; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import java.lang.*; import java.util.Random; /** * Created by lenovo on 2018/5/14. */ public…
转载地址:http://www.gcssloop.com/customview/Path_Basic/ 安卓自定义View进阶-Path之基本操作 在上一篇Canvas之图片文字中我们了解了如何使用Canvas中绘制图片文字,结合前几篇文章,Canvas的基本操作已经差不多完结了,然而Canvas不仅仅具有这些基本的操作,还可以更加炫酷,本次会了解到path(路径)这个Canvas中的神器,有了这个神器,就能创造出更多炫(zhuang)酷(B)的东东了. 一.Path常用方法表 为了兼容性(偷懒…
参考博客:https://blog.csdn.net/iispring/article/details/50500106/ android颜色渐变的分类有: LinearGradient线性渐变 线性渐变的参数为: A点X坐标,A点Y坐标,B点X坐标,B点Y坐标,int[] 颜色数组,float[] 渐变点数组 ,渲染器模式: RadialGradient镜像渐变 镜像渐变的参数为: 圆心点X坐标,圆心点Y坐标,半径增量值,int[] 颜色数组,float[] 渐变点数组 ,渲染器模式:  Sw…
转载地址:https://blog.csdn.net/mengks1987/article/details/77770922 先来看下效果: 是不是有一种熟悉感,其实这种效果使用序列帧动画也是可以实现的,这里我们介绍下如何使用自定义View实现. 这是我们的素材,一张图片上有5个京东小哥 我们只需要不停的变换小哥就好了,原理明白了我们看下代码: public class JDLoadingView extends View { private Bitmap bitmap; private int…
效果图: 代码: package com.example.lenovo.mydemo.myViewDemo; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Typefa…