前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android View体系(十一)自定义ViewGroup

Android View体系(十一)自定义ViewGroup

作者头像
用户1269200
发布2018-02-01 14:09:20
8250
发布2018-02-01 14:09:20
举报
文章被收录于专栏:刘望舒刘望舒

相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Scroller Android View体系(五)从源码解析View的事件分发机制 Android View体系(六)从源码解析Activity的构成 Android View体系(七)从源码解析View的measure流程 Android View体系(八)从源码解析View的layout和draw流程 Android View体系(九)自定义View Android View体系(十)自定义组合控件

前言

此前讲了很多,终于可以讲到这一节了,本文的例子是一个自定义的ViewGroup,左右滑动切换不同的页面,类似一个特别简化的ViewPager,这篇文章会涉及到这个系列的很多文章的内容比如View的measure、layout和draw流程,view的滑动等等,所以对View体系不大了解的同学看这篇文章前可以先从头阅读本系列的其他文章,再来看这篇文章效果会更好些。需要注意的是我们知道要实现一个自定义的ViewGroup是很复杂的,这个看看LineraLayout等源码我们就会知道,这里我们只需要把主要的功能实现就好了。

1.继承ViewGroup

要实现自定义的ViewGroup,首先要继承ViewGroup并调用父类构造方法,实现抽象方法等。

代码语言:java
复制
import android.content.Context;import android.util.AttributeSet;import android.view.ViewGroup;public class HorizontalView extends ViewGroup{
    public HorizontalView(Context context) {        super(context);
    }    public HorizontalView(Context context, AttributeSet attrs) {              super(context, attrs);
    }    public HorizontalView(Context context, AttributeSet attrs, int defStyleAttr) {              super(context, attrs, defStyleAttr);
    }    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
    }
}

这里我们定义了名字叫HorizontalView的类并继承 ViewGroup,onLayout这个抽象方法是必须要实现的,我们暂且什么都不做。

阅读原文

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 刘望舒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1.继承ViewGroup
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档