首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义View:Padding与绘制内容

简单绘制 如果你打算在自定义的view中控制绘制内容,最好是直接继承自View类。它是最基础的UI绘制单元。它相对来说功能齐全,虽然相比其他子类少一些功能,但对于本文还是够用的。...自定义绘制步骤 1.创建一个继承自View的类 2.重写onDraw方法,在该方法内,使用Canvas进行内容绘制。...注意,当我们绘制内容时,该View的左上角的坐标为(0,0),不管这个view位于屏幕的哪个位置。...View有两个方法,getLeft()和getTop(),但是它们返回的是这个相对与父View的位置信息,所以在绘制view内容时,不能使用这两个值。...在View中,视图的宽度和高度包含了padding的值,比如一个view的宽度为100像素,两侧的padding值为10像素,那么view内容只有80像素的绘制宽度。同理高度也是一样。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

自定义View(八)-View的工作原理- View的measure

同Activity的布局加载了解了整个View树加载的流程。最后是通过View的三大流程来实现布局的显示的。那么我们这篇来讲下布局的三大流程之一-->measure。...精确模式,父容器已经检测View所需要的精确大小,View的最终大小就SpecSize所指定的值。...默认大小的宽高和父View传递的测量规格重新计算View的测量宽高。...同时对于普通View针对不同的父容器和View本身不同的LayoutParames,View就可以有多重MeasureSpec具体不同参照下表: ?...View的测量(1).png ---- 结语 View的测量基本上就是这样了。通过本章的学习,我们应该掌握测量的流程和里面重要的方法,这样我们在自定义View的时候才会更的得心应手。

70110

Android View体系(九)自定义View

相关文章 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流程 前言 学习了以上的文章后,接下来我们来讲讲自定义View,自定义View一直被认为是高手掌握的技能...1.自定义View简介 自定义View按照笔者的划分,分为两大类,一种是自定义View,一种是自定义ViewGroup;其中自定义View又分为继承View和继承系统控件两种。...2.继承系统控件的自定义View 这种自定义View在系统控件的基础上进行拓展,一般是添加新的功能或者修改显示的效果,一般情况下我们在onDraw()方法中进行处理。

754100

自定义View(九)-View的工作原理- View的layout()和draw()

相信在理解上面的内容,妈妈就再也不用担心我不敢看源码啦~~!我们将我们的流程用流程图来表示,如下: ? View树layout绘制流程.png 到此View的绘制也就完成了。...绘制当前视图的内容。 绘制当前视图的子视图的内容。 绘制当前视图在滑动时的边框渐变效果。 绘制当前视图的滚动条。 在一般情况下2和5我们在自定义View时是不会去修改的。...3.绘制视图View内容onDraw 第三步是调用onDraw()方法绘制内容。发现是一个空的方法,也就是说所有View继承View的控件都要重写这个方法来实现对自己内容的绘制。...View绘制6步分析.png 我们在来总结几个关于View绘制相关的知识点: 父类View绘制主要是绘制背景,边框渐变效果,进度条,View具体的内容绘制调用了onDraw方法,通过该方法把View内容的绘制逻辑留给子类去实现...因此,我们在自定义View的时候都一般都需要重写父类的onDraw方法来实现View内容绘制。

2.8K20

View事件分发

NOTE: 笔记,碎片式内容 控件 App界面的开主要就是使用View,或者称为控件。View既绘制内容又响应输入,输入事件主要就是触摸事件。...以Activity为例,使用setContentView(View view)来指定要显示的内容,不过参数view并非是Activity最终显示到Window的ViewTree。...对方法View.dispatchTouchEvent()的调用一方面传递事件给view,其返回结果又表明了此view是否处理了事件。...NOTE: 一个View收到并处理某个触摸点的down事件后,那么即便之后触摸点移动到View之外,或在View的范围之外离开屏幕,此View也会收到相应的move、up事件,不过收到的事件中触摸点的...而事件拆分目的是让不同的view可以同时处理不同的事件序列——从原事件序列中分离出来的,以允许不同内容区域同时处理自己的手势。

1.2K60

内容内容资产,以及内容即服务

口碑传播:通过用户口碑和推荐来传播内容,例如用户在社交媒体上分享自己的体验和评价。内容的用途内容的用途包含以下几点:信息传达:内容可以用于传达信息,例如新闻、报告、公告等。...企业和个人需要注重内容的创造、管理和优化,以提升竞争力,实现商业目标。内容内容资产定义内容是指任何信息、消息或材料,可以是文字、图片、视频、音频等形式。...内容即服务内容即服务(Content as a Service,CaaS)是一种将内容独立于应用程序提供的服务模式。传统上,应用程序和内容是紧密耦合的,即应用程序负责存储和呈现内容。...内容内容即服务的特点内容独立性:内容即服务将内容从特定的应用或平台中解耦,使其能够独立于具体应用程序或系统进行管理和交付。...定义内容模型:使用无头CMS平台的管理界面定义你的内容模型。这包括确定内容类型、字段和关系等。创建和管理内容:使用无头CMS的管理界面或API创建和管理你的内容。这可以包括文章、页面、产品等。

20910

自定义View必备知识-View绘制流程

View绘制的流程框架 如图所示 ? View的绘制是从上往下一层层迭代下来的。...的位置; offsetLeftAndRight直接改变的是left, right, 相当于在parent中左右平移View的位置; View的边界直接发生了变化,又因为View和他的子View的相对位置没变...从View的测量、布局和绘制原理来看,要实现自定义View,根据自定义View的种类不同,可能分别要自定义实现不同的方法。...ViewGroup,若不重写,就会执行和单子View中相同逻辑,不会测量子View。一般会重写onMeasure()方法,循环测量子View。...与内置的view不同,自定义的view可以使得程序仅仅测量这一部分,这避免了遍历整个view的层级结构来计算大小。

1.6K30

自定义View之客服好评View

在工作中难免遇到自定义 View 的相关需求,本身这方面比较薄弱,因此做个记录,也是自己学习和成长的积累。自定义View实战....理由云控,数量可变,内容可变。可单选,可不选,可多选。 主要的难点和重点在于根据理由内容的长短进行展示,如果内容长则显示一条,如果内容短可以显示多条。...具体实现 我们都知道 View 的测量工作主要是在 onMeasure 里进行。 宽度计算,可以先测量出每个子 View 的宽度,每次叠加,如果超过父布局限制的宽度则换行。...高度计算,每次换行叠加高度,每一行的高度取子 View 高度的最大值。...getChildAt(i); //跳过View.GONE的子View if (childView.getVisibility() == View.GONE) {

94850

自定义View基础(二)View的滑动

左边缘和View内容左边缘在水平方向的距离 mScrollX = x; //mScrollY总是等于View上边缘和View内容边缘在竖直方向的距离...需要注意的是这两个方法只能改变View内容的位置而不能改变View在布局中的位置。...不同的是mScrollX当内容左边缘在View左边缘右边的时候为负值,左边为正值,同理mScrollY当内容上边缘在View上边缘上面的时候为正值,下面为正值。这就和View本身的坐标系统相反了。...2、View滑动三种方式的对比 scrollTo/scrollBy:操作简单,但是局限明显,适合对View内容的滑动 动画:操作简单,由于现在基本上都是3.0以上版本Android系统,所有可以适合几乎所有情况...动画API和scrollTo方法的实现方式,不过下面这种方法只是View内容的移动,如果要View的移动可能需要改变View的布局参数,这就很麻烦了。

42520
领券