UI编程|青训营笔记

131 阅读2分钟

这是我参与第四届青训营笔记创作活动的第二天。

这节课包括UI组件、布局、渲染、交互、动画、自定义UI六个部分。

常规的UI组件有文本组件、图片组件、按钮组件、输入框组件、复选框组件、单选组件等,常规UI组件大多由android framework中的andriod.widget这个package提供。

高级UI组件有滑动组件、列表组件、下拉刷新组件、分页组件、布局组件,常规大多是View,高级大多是Viewgroup,比常规的有更多的功能。

需要设置一系列的属性来描述Layout布局。

常用的布局有LinearLayout,在水平垂直方向排列组件,所有子视图在单个方向(垂直或水平)保持对齐,适用于线性排列场景,RelativeLayout通过父容器兄弟容器组件位置排列组件,可以消除嵌套视图组并使布局层次结构保持扁平化,从而提高性能,适用于复杂场景。FrameLayout以层级叠加的方式排列组件,适用于层级排列场景。ConstraintLayout通过约束组件位置排列组件,扩展布局方式。

交互。

获取View实例,添加相应监听器。 常用的交互事件监听器有onClick(),onLongClick(),onKey();所有的交互事件都来自于对屏幕触摸信号的处理,View.OnClickListener()等常用点击事件是对交互事件的二次封装。有很多事件类型常量,当手指触摸屏幕时产生此事件,表示一个触屏事件序列的来时。

交互是指将触摸事件传递到某个具体的View 处理的整个过程,View的交互需要获取View对象,交互事件监听器,事件分发时顺序的,有一系列核心方法。

安卓系统一开始就提供了两种实现动画的方法,帧动画,补间动画,功能和扩展性有较大的局限,通过属性动画解决。