
Drawable中的形状:Shape
Drawable中的形状:ShapeDrawable在安卓开发中非常常见,常用来作为View的背景。但是光会简单的用法还不够,需要对这个图像体系有一个整体系统的认知,详见《Android Drawable》。和Drawable有关的就是Shape图形,在自定义Drawable也接触过<shape />标签,见《ShapeDrawable:Android自定义背景》。1、ShapeShape定义通用
# 标签
共 118 篇文章

Drawable中的形状:ShapeDrawable在安卓开发中非常常见,常用来作为View的背景。但是光会简单的用法还不够,需要对这个图像体系有一个整体系统的认知,详见《Android Drawable》。和Drawable有关的就是Shape图形,在自定义Drawable也接触过<shape />标签,见《ShapeDrawable:Android自定义背景》。1、ShapeShape定义通用

大有可为的着色器:Shader平时开发的时候或多或少都接触过相关的技术,但是却没有系统详细的学习一下。Android设计到的知识点很多,特点广泛而杂。有网络相关的,硬件相关的,图形图像相关的等等,每一点都得或多或少需要学习掌握一些。1、ShaderShader直译过来就叫“着色器”,该类是抽象的基础类,Shader共有五个子类:BitmapShader、LinearGradient、RadialG

Material轻量级反馈:Snackbar了解Material Design的开发者对Snackbar不陌生,这是和Toast一样的轻量级反馈。关于Toast详见Toast:前后台弹出Toast不一致?。1、SnackbarSnackbar和Toast类似,方法也都差不多。Snackbar继承自BaseTransientBottomBar。1.1、使用SnackbarSnackbar不是系统自带

ViewPager进化版:ViewPager2大名鼎鼎的翻页视图ViewPager和RecyclerView一样被众多广大的应用使用,抖音上下滑动观看视频用的主控件就是ViewPager。继ViewPager翻页控件,Google又推出了它的升级版本ViewPager2。1、ViewPager2“上一任”ViewPager有一些瑕疵,于是Google就推陈出新搞出了个ViewPager 2.0。1

布局动画:LayoutTransition1、LayoutTransition介绍Layouttransition位于android.animation包中,Google从API 11时引入这个Layouttransition工具类,专门用来处理ViewGroup布局发生变化时对子控件进行动画处理。比如一组数据在ViewGroup中显示,这个时候如果添加或者删除其中的数据,同时伴随着每个item的

更简单的动画实现:ViewPropertyAnimator前面学习了补间动画,属性动画创建动画,相对来说比较专业,但也显得繁琐。只要在View层中实现一个简单的动画需要创建各种辅助的类对象,还好Android又提供了一条路,让开发者直接操作View来添加动画。1、ViewPropertyAnimatorAndroid比较让人头疼的是提供了很多方法可以实现相同的目的(API太多)。动画也是,前面已经

属性动画关键帧:keyframe上次介绍学习了PropertyValuesHolder《属性动画:PropertyValuesHolder》,其中还提到一个ofKeyframe()的构造方法,传入Keyframe参数。今天单独专门学习一下什么是Keyframe关键帧。1、KeyframeKeyframe类从API 11开始引入android.animation包中。1.1、介绍Keyframe包含

属性动画:PropertyValuesHolder前面属性动画学习的过程中,在ValueAnimator中提到过ValueAnimator.ofPropertyValuesHolder(PropertyValuesHolder... values)构造方法(详见《属性动画:ValueAnimator及其监听器》3.1节),还有ObjectAnimator中也提到过ObjectAnimator.of

属性动画的XML实现补间动画的四种动画都可以通过代码实现,也可以通过xml实现,详见《补间动画:Tween Animation》。属性动画也可以通过XML的方式快速实现。和Animation动画src/main/res/anim目录不同,Animator动画xml放在src/main/res/animator目录下。1、ValueAnimator<animator/>标签对应ValueAnimat

属性动画集合:AnimatorSet前面学习了属性动画ValueAnimator和ObjectAnimator。它们一次只能执行一个动画,实际需求需要多个动画来组合才能达到效果,Android为属性动画也提供了属性动画合集AnimatorSet。补间动画的组合通过AnimationSet实现,详见《补间动画:Tween Animation》。1、AnimatorSet简介AnimatorSet继承

属性动画:TypeEvaluator视图动画借助Interpolator插值器改变动画执行的速率实现不同的视觉效果,属性动画也可以使用Interpolator,关于插值器详见《动画插值器Interpolator》。此外属性动画还额外增加了一个类叫TypeEvaluator估值器。1、TypeEvaluatorTypeEvaluator改变的是数值,Interpolator加速的是时间。1.1、Ty

属性动画:ObjectAnimator上一篇介绍的属性动画:ValueAnimator较为简单,会发现只能基于数值的变化对View进行设置,而且只能通过给ValueAnimator添加AnimatorUpdateListener监听器来监听数值变化,进而在回调方法中根据实时变化的数值设置View的属性。继续介绍属性动画中另一个更复杂的Animator,不再需要实现ValueAnimator.Ani

属性动画:ValueAnimator前面了解的是视图动画,改变View的绘制,但那也只是表面上,其实View真正的属性都没有发生变化。从API 11开始Android引入了更强大的属性动画。1、为什么引入属性动画?之前学习的视图动画(补间动画:旋转、平移、放缩、透明度)只能在界面绘制上面做文章,也就是看到的是表面的“虚幻”画面,其实View的位置还在原来的地方。举个例子,对View进行Transl

补间动画:Tween AnimationAndroid动画有两种:视图动画和属性动画。视图动画从API 1开始有的,属性动画从API 11才被引入。视图动画又包括补间动画、帧动画,关于帧动画参考《逐帧动画》,现在来学学补间动画。1、Tween Animation补间动画可以对View对象的内容执行一系列简单的转换(位置,大小,旋转和透明度)。android.view.animation包中定义了补

逐帧动画:Frame Animation逐帧动画,简单好用的动效,一帧一帧的播放图片。比如一般手机刚开机时候显示的Logo是逐帧动画,注意逐帧动画需要加载大量的图片,因而很耗内存,使用的时候一定要注意别导致内存泄漏和OOM,不要加载过多和过大的图片。有两种方式实现逐帧动画:代码方式和XML方式。1、代码实现逐帧动画用到的AnimationDrawable类,通过该类可以用代码实现逐帧动画的效果。1