刚刚学android,有一段代码是:AnimationUtils.loadAnimation(this,R.anim.alpha),

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刚刚学android,有一段代码是:AnimationUtils.loadAnimation(this,R.anim.alpha),相关的知识,希望对你有一定的参考价值。

这里AnimationUtils为什么可以直接调用它的函数,不是应该要new出一个对象,然后再调用的吗。希望各位能帮我解答下。

loadAnimation()方法是AnimationUtils类的静态方法。可以通过“类名.方法名()”的方式调用,需要new一个对象出来的再调用的是实例方法。
静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。实例方法是使用new开辟出来的内存空间的,只能当前对象使用。
参考技术A Animation a = AnimationUtils.loadAnimation(this,R.anim.alpha);

是Animation调用AnimationUtils里面的功能,所以不用new对象,AniamtionUtils是Animation的子类,直接给Animation调用

参考技术B 静态方法可以直接调用 方法使用static声明的,这是java范畴,源码如下:
public static Animation loadAnimation(Context context, int id)
throws NotFoundException

XmlResourceParser parser = null;
try
parser = context.getResources().getAnimation(id);
return createAnimationFromXml(context, parser);
catch (XmlPullParserException ex)
NotFoundException rnf = new NotFoundException("Can't load animation resource ID #0x" +
Integer.toHexString(id));
rnf.initCause(ex);
throw rnf;
catch (IOException ex)
NotFoundException rnf = new NotFoundException("Can't load animation resource ID #0x" +
Integer.toHexString(id));
rnf.initCause(ex);
throw rnf;
finally
if (parser != null) parser.close();

以上是关于刚刚学android,有一段代码是:AnimationUtils.loadAnimation(this,R.anim.alpha),的主要内容,如果未能解决你的问题,请参考以下文章

菜鸟刚刚学android。怎么让android分别响应按下和弹起的事件?跪求高手~~~~

计算机图形学第四章练习——画饼图

如何从屏幕底部向上滑出一个view-Android开发问答

做技术的一点感悟

Android_AnimationDrawable介绍及使用

为啥我的idea在编辑代码时,鼠标移动到的位置会有一条水平线,那位帮帮忙,怎么去掉水平线