
面试
慕七儿
我是个小垃圾
展开
-
dp、dpi、px的区别?
参考回答: px:像素,如分辨率1920x1080表示高为1920个像素、宽为1080个像素 dpi:每英寸的像素点,如分辨率为1920x1080的手机尺寸为5英寸,则该手机DPI为(1920x1920+ 1080x1080)½/5 dp:密度无关像素,是个相对值 ...原创 2019-02-20 15:51:51 · 12239 阅读 · 0 评论 -
了解哪些Drawable?
参考回答: BitmapDrawable表示一张图片 NinePatchDrawable可自动地根据所需的宽/高对图片进行相应的缩放并保证不失真 .9图 聊天的气泡 ShapeDrawable表示纯色、有渐变效果的基础几何图形 StateListDrawable表示一个Drawable的集合且每个Drawable对应着View的一种状态 LayerDrawable可通过将不同的Drawable放...原创 2019-02-20 15:55:41 · 328 阅读 · 0 评论 -
MotionEvent是什么?包含几种事件?什么条件下会产生?
参考回答: MotionEvent是手指触摸屏幕产生的一系列事件。包含的事件有: ACTION_DOWN:手指刚接触屏幕 ACTION_MOVE:手指在屏幕上滑动 ACTION_UP:手指在屏幕上松开的一瞬间 ACTION_CANCEL:手指保持按下操作,并从当前控件转移到外层控件时会触发 ...原创 2019-02-20 15:58:29 · 2198 阅读 · 0 评论 -
scrollTo()和scrollBy()的区别?
参考回答: scrollBy内部调用了scrollTo,它是基于当前位置的相对滑动; 而scrollTo是绝对滑动,因此如果利用相同输入参数多次调用scrollTo()方法,由于View初始位置是不变只会出现一次View滚动的效果而不是多次。 引申: 两者都只能对view内容进行滑动,而不能使view本身滑动,且非平滑,可使用Scroller有过渡滑动的效果 ...原创 2019-02-20 16:02:47 · 2449 阅读 · 0 评论 -
Scroller中最重要的两个方法是什么?主要目的是?
参考回答:Scroller实现滑动的具体过程: 在MotionEvent.ACTION_UP事件触发时调用startScroll()方法,该方法并没有进行实际的滑动操作,而是记录滑动相关量 马上调用invalidate/postInvalidate()方法,请求View重绘,导致View.draw方法被执行 紧接着会调用View.computeScroll()方法,此方法是空实现,需要自己处理逻...原创 2019-02-20 16:10:24 · 631 阅读 · 0 评论 -
谈一谈View的事件分发机制?
参考回答: 事件分发本质:就是对MotionEvent事件分发的过程。即当一个MotionEvent产生了以后,系统需要将这个点击事件传递到一个具体的View上。 点击事件的传递顺序:Activity(Window) -> ViewGroup -> View 三个主要方法: dispatchTouchEvent:进行事件的分发(传递)。返回值是 boolean 类型,受当前onTou...原创 2019-02-20 16:13:15 · 382 阅读 · 0 评论