ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android学习(四)

2019-04-28 14:50:10  阅读:234  来源: 互联网

标签:动画 arrays 学习 一个 数组 Android 方法 Animator


教材学习内容总结

图形和定制视图

硬件加速

  • Android APILevel14及其以上版本为目标的应用程序来说,硬件加速是默认可用的。
  • 可通过android:hardwareAccelerated="false"来关闭活动或应用的硬件加速。

创建一个定制视图

  • 要创建一个定制视图,需要扩展android.view.View类或其一个子类,并且覆盖其onDraw方法。
  • onDraw方法的签名为:

      protected void onDraw (android.graphics.Canvas canvas)
  • 可以使用Canvas中的方法来绘制图形和文本,也可以创建路径和区域来绘制更多的形状。
  • Canvas中的大多数的绘制方法都需要一个Paint。应该在类级别创建Paint,并让可以在onDraw方法中使用,而不是在onDraw方法中创建Canvas。

,并且让活动来处理它。

多面板布局

  • 在单面板布局【e.g.手机】中,显式地活动通常包含单个的片段,这个片段往往反过来包含一个ListView,选中ListView上的一项,将会开启另一个活动。
  • 在多面板布局【e.g.平板电脑】中,通常有一个足够大容纳两个面板的活动。可以使用相同的片段,但是这一次,当选中一个项的时候,它将会更新第2个片段,而不是开始另一个活动。

动画

要点1:属性动画

  • 属性动画背后的动力就是android.animation.Animator类,这是一个抽象类,要使用其子类(ValueAnimator或ObjectAnimator)来创建动画。此外,AnimatorSet类是Animator的另一个子类,设计用来以并行或连续的方式运行多个动画。

要点2:Animator类

  • Animator有一个方法用来设置要进行动画的目标对象(setTarget),还有一个方法用来设置时长(setDuration),还有一个方法用来启动动画(start)。可以在一个Animator对象上多次调用start方法。
  • Animator提供了一个addListener方法,它接受一个Animator.AnimatorListener实例。AnimatorListener接口定义于Animator类中,并且提供当特定的事件发生的时候系统所调用的方法。如果想要相应某一个事件的话,可以实现这些方法中的一个。

    • void onAnimationStart(Animator animation);
    • void onAnimationEnd(Animator animation);
    • void onAnimationCancel(Animator animation);
    • void onAnimationRepeat(Animator animation);

valueAnimator

ValueAnimator它本身并不会作用与任何一个属性,它本身也不会提供任何一种动画。它简单的来说,就是一个数值发生器,它可以产生你想要的各种数值。

objectAnimator

ObjectAnimator执行的属性动画,都是根据java的反射机制来设置的,因此设置动画的目标对象的属性必须有getter 和setter方法。

教材学习中的问题和解决过程

  • 问题1: 在fragment不应该写监听器,应该写出对一个事件的相应并让活动来处理它。 这个tip不知道如何实现。
  • 问题1解决方案:直接在fragment写活动的方法。
    mainActivity.playService.isPlaying())

代码调试中的问题和解决过程

  • 问题1:
    当调试点击listview时,每调一次都需要重启一次模拟器。

  • 问题1解决方案:
    debug中除了step in等还有revert cursor这个方法可以省去重启的步骤。

代码托管

上周考试错题总结

  • 错题1:
    Multi-dimensional arrays that contain arrays of different lengths in any one dimension are called ?.(包括不同长度数组的多维数组叫做?)
    A.ragged arrays(锯齿状数组)
    B.static arrays(静态数组)
    C.two-dimensional arrays(二维数组)
    D.constant arrays(常量数组)
    E.overloaded arrays(重载数组)
    正确答案:A
    锯齿状数组初始化方法:int [][] raggedArray = new int[10][];

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 150/200 2/2 20/20
    第二周 200/400 1/3 20/40
    第三周 100/500 1/4 10/50
    第四周 200/700 1/5 15/65
    第五周 1486/2186 1/6 15/80
    第六周 1400/3586 1/7 18/98
    第七周 1400/5000 1/8 18/116
    第八周 1200/6200 1/9 15/131
    第九周 800/7000 2/11 12/143
  • 计划学习时间:15小时

  • 实际学习时间:12小时

参考资料

标签:动画,arrays,学习,一个,数组,Android,方法,Animator
来源: https://www.cnblogs.com/Shambryce/p/10783916.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有