Android界面开发:View自定义实践概览

Android社区 收藏文章

在文章02Android显示框架:Android应用视图的载体View中我们理解了 View的测量、布局、绘制、触摸事件处理等内容,今天我们开始我们View自定义实践的内容。

View自定义是开发中最常见的需求,图表等各种复杂的ui以及产品经理各种奇怪的需求😤都要通过View自定义来完成。

View自定义有三个关键点:

  • 布局:决定View的摆放位置
  • 绘制:决定View的具体内容
  • 交互:决定View与用户的交互体验

View自定义通常有哪些手段?🤔

  • 继承View重写onDraw()方法,这种方式通常用来实现一些特殊的绘制效果。
  • 继承ViewGroup实现一些特殊的Layout,这种方式通常用来实现一些系统之外的特殊的布局效果。
  • 继承特定的View,例如ImageView、TextView,这种方式通常用于功能的扩展。

View自定义通常需要处理哪些问题?🤔

  • 让View支持wrap_content以及padding,这个问题文章02Android显示框架:Android应用视图的载体View中已经做了详细的阐述。
  • View带有滑嵌套时,需要处理好滑动冲突。
  • View里的线程和动画需要及时的停止,另外View内部提供了postXXX()系列方法,无需再用Handler去做线程切换。

一个标准的自定义View模板

自定义属性

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <declare-styleable name="StandardView">
        <attr name="color" format="color" />
    </declare-styleable>

</resources>

自定义View

相关标签

扫一扫

在手机上阅读