View概述
自定义View常用方法
| 方法 | 说明 |
|---|---|
| onFinishInflate() | 当View中所有的子控件 均被映射成xml后触发 |
| onMeasure(int, int) | 确定所有子元素的大小 |
| onLayout(boolean, int, int, int, int) | 当View分配所有的子元素的大小和位置时触发 |
| onSizeChanged(int, int, int, int) | 当view的大小发生变化时触发 |
| onDraw(Canvas) | view渲染内容的细节 |
| onKeyDown(int, KeyEvent) | 有按键按下后触发 |
| onKeyUp(int, KeyEvent) | 有按键按下后弹起时触发 |
| onTrackballEvent(MotionEvent) | 轨迹球事件 |
| onTouchEvent(MotionEvent) | 触屏事件 |
| onFocusChanged(boolean, int, Rect) | 当View获取 或失去焦点时触发 |
| onWindowFocusChanged(boolean) | 当窗口包含的view获取或失去焦点时触发 |
| onAttachedToWindow() | 当view被附着到一个窗口时触发 |
| onDetachedFromWindow() | 当view离开附着的窗口时触发 |
| onWindowVisibilityChanged(int) | 当窗口中包含的可见的view发生变化时触发 |
属性
android:accessibilityLiveRegion
相关方法:setAccessibilityLiveRegion(int)
说明:设置无障碍服务 表明 View 组件改变时用户是否应该被通知.android:accessibilityTraversalAfter
相关方法:setAccessibilityTraversalAfter(int)
说明:设置访问性遍历中, 先执行的View组件id|android:accessibilityTraversalBefore
相关方法:setAccessibilityTraversalBefore(int)
说明:设置访问性遍历中, 后执行的View组件的idandroid:alpha
相关方法:setAlpha(float)
说明:设置透明度android:background
相关方法:setBackgroundResource(int)
说明:设置背景android:backgroundTint
相关方法:setBackgroundTintList(ColorStateList)
说明:设置背景着色android:backgroundTintMode
相关方法:setBackgroundTintMode(PorterDuff.Mode)
说明:设置背景着色模式android:clickable
相关方法:setClickable(boolean)
说明:是否对点击事件做出响应android:contentDescription
相关方法:setContentDescription(CharSequence)
说明:设置组件的内容描述信息android:contextClickable
相关方法:setContextClickable(boolean)
说明:是否对点击事件做出响应android:drawingCacheQuality
相关方法:setDrawingCacheQuality(int)
说明:半透明绘制缓存的质量android:duplicateParentState
说明:设置为true,则该View由它的直接父类获得绘制状态(焦点、按下)而不是它自身android:elevation
相关方法:setElevation(float)
说明:设置z轴深度android:fadeScrollbars
相关方法:setScrollbarFadingEnabled(boolean)
说明:不使用滚动条时是否淡出显示android:fadingEdgeLength
相关方法:getVerticalFadingEdgeLength()
说明:设置渐变边缘的长度android:filterTouchesWhenObscured
相关方法:setFilterTouchesWhenObscured(boolean)
说明:当该View的窗口被其他可见的窗口遮挡时是否过滤触摸事件android:fitsSystemWindows
相关方法:setFitsSystemWindows(boolean)
说明:是否根据系统窗口例如状态栏调整View布局android:focusable
相关方法:setFocusable(boolean)
说明:是否可以获得焦点android:focusableInTouchMode
相关方法:setFocusableInTouchMode(boolean)
说明:触摸模式下是否可以得到焦点android:foreground
相关方法:setForeground(Drawable)
说明:设置前景android:foregroundGravity
相关方法:setForegroundGravity(int)
说明:设置前景位置android:foregroundTint
相关方法:setForegroundTintList(ColorStateList)
说明:设置前景着色android:foregroundTintMode
相关方法:setForegroundTintMode(PorterDuff.Mode)
说明:设置前景着色模式android:hapticFeedbackEnabled
相关方法:setHapticFeedbackEnabled(boolean)
说明:否为特定动作开启触摸反馈功能(如长按)android:id
相关方法:setId(int)
说明:设置唯一标识android:importantForAccessibility
相关方法:setImportantForAccessibility(int)
说明:设置该View组件对无障碍服务的重要性android:isScrollContainer
相关方法:setScrollContainer(boolean)
说明:指定该View是否作为一个可滚动的容器,支持可以通过改变大小收缩整个窗口为输入法腾出空间android:keepScreenOn
相关方法:setKeepScreenOn(boolean)
说明:是否强制屏幕常亮android:layerType
相关方法:setLayerType(int,Paint)
说明:设置指定层的类型android:layoutDirection
相关方法:setLayoutDirection(int)
说明:指定布局绘制的方向android:longClickable
相关方法:setLongClickable(boolean)
说明:是否响应长点击事件android:minHeight
相关方法:setMinimumHeight(int)
说明:设置视图最小高度android:minWidth
相关方法:setMinimumWidth(int)
说明:设置视图最小宽度android:nextFocusDown
相关方法:setNextFocusDownId(int)
说明:向下移动焦点时,下一个获取焦点的view的idandroid:nextFocusForward
相关方法:setNextFocusForwardId(int)
说明:下一个获取焦点的view的idandroid:nextFocusLeft
相关方法:setNextFocusLeftId(int)
说明:向左移动焦点时,下一个获取焦点的view的idandroid:nextFocusRight
相关方法:setNextFocusRightId(int)
说明:向右移动焦点时,下一个获取焦点的view的idandroid:nextFocusUp
相关方法:setNextFocusUpId(int)
说明:向上移动焦点时,下一个获取焦点的view的idandroid:onClick
说明:点击时,要调用的方法的名称android:padding
相关方法:setPaddingRelative(int,int,int,int)
说明:设置上下左右的边距android:paddingBottom
相关方法:setPaddingRelative(int,int,int,int)
说明:下边距android:paddingEnd
相关方法:setPaddingRelative(int,int,int,int)
说明:右边距android:paddingLeft
相关方法:setPadding(int,int,int,int)
说明:左边距android:paddingRight
相关方法:setPadding(int,int,int,int)
说明:右边距android:paddingStart
相关方法:setPaddingRelative(int,int,int,int)
说明:左边距android:paddingTop
相关方法:setPaddingRelative(int,int,int,int)
说明:上边距android:requiresFadingEdge
相关方法:setVerticalFadingEdgeEnabled(boolean)
说明:定义滚动时边缘是否褪色android:rotation
相关方法:setRotation(float)
说明:旋转度数android:rotationX
相关方法:setRotationX(float)
说明:水平旋转度数android:rotationY
相关方法:setRotationY(float)
说明:竖直旋转度数android:saveEnabled
相关方法:setSaveEnabled(boolean)
说明:在配置改变等情况出现时是否保存view的状态数据android:scaleX
相关方法:setScaleX(float)
说明:水平方向缩放比例android:scaleY
相关方法:setScaleY(float)
说明:竖直方向缩放比例android:scrollIndicators
相关方法:setScrollIndicators(int)
说明:定义了哪些滚动指标时视图可以滚动android:scrollX
说明:水平方向的滚动偏移android:scrollY
说明:竖直方向的滚动偏移android:scrollbarAlwaysDrawHorizontalTrack
说明:是否显示水平滚动条轨道android:scrollbarAlwaysDrawVerticalTrack
说明:是否显示垂直滚动条轨道android:scrollbarDefaultDelayBeforeFade
相关方法:setScrollBarDefaultDelayBeforeFade(int)
说明:滚动条在多少毫秒后开始淡出android:scrollbarFadeDuration
相关方法:setScrollBarFadeDuration(int)
说明:滚动条在淡出过程需要多少毫秒android:scrollbarSize
相关方法:setScrollBarSize(int)
说明:垂直滚动条的宽度和水平滚动条的高度android:scrollbarStyle
相关方法:setScrollBarStyle(int)
说明:滚动条的风格和位置android:scrollbarThumbHorizontal
说明:水平滚动条的滑块对应的Drawable对象android:scrollbarThumbVertical
说明:垂直滚动条的滑块对应的Drawable对象android:scrollbarTrackHorizontal
说明:水平滚动条的轨道对应的Drawable对象android:scrollbarTrackVertical
说明:垂直滚动条的轨道对应的Drawable对象android:scrollbars
说明:设置可显示的滚动条android:soundEffectsEnabled
相关方法:setSoundEffectsEnabled(boolean)
说明:点击或触摸该view时,是否使用音效android:stateListAnimator
说明:设置状态动画android:tag
说明:设置一个字符串类型的tag值android:textAlignment
相关方法:setTextAlignment(int)
说明:设置文本的显示对齐方式android:textDirection
相关方法:setTextDirection(int)
说明:设置文本的显示方向android:transformPivotX
相关方法:setPivotX(float)
说明:设置该组件旋转时旋转中心的X坐标android:transformPivotY
相关方法:setPivotY(float)
说明:设置该组件旋转时旋转中心的Y坐标android:transitionName
说明:对于需要共享的元素分配一个通用的名字android:translationX
相关方法:setTranslationX(float)
说明:设置该组件在X方向上的位移android:translationY
相关方法:setTranslationY(float)
说明:设置该组件在Y方向上的位移android:translationZ
相关方法:setTranslationZ(float)
说明:设置该组件在Z方向上的位移android:visibility
相关方法:setVisibility(int)
说明:设置该组件是否可见
- 其中android:isScrollContainer、android:scrollbarAlwaysDrawHorizontalTrack、android:scrollbarAlwaysDrawVerticalTrack似乎无效
android:accessibilityLiveRegion属性说明
| 值 | 说明 |
|---|---|
| none | 不通知 |
| polite | 通知 |
| assertive | 中断当前工作并通知 |
android:drawingCacheQuality属性说明
| 值 | 说明 |
|---|---|
| auto | 默认值, 让系统框架决定应该被用于绘图缓存的质量等级 |
| low | 低质量, 当设置为低质量时, 绘图缓存使用较低的色彩深度, 这样在渲染一些渐变图像时会丢失一些精度, 但是使用较少的内存 |
| high | 高质量, 使用更高的色彩深度, 但是消耗更多的内存 |
android:importantForAccessibility属性说明
| 值 | 说明 |
|---|---|
| auto | 让系统决定本 View 组件对于无障碍服务的重要性, 不推荐 |
| yes | 该 View 组件对于无障碍服务是重要的 |
| no | 该 View 组件对于无障碍服务是不重要的 |
| noHideDescendants | 该View组件对于无障碍服务是不重要的,但是该属性的作用范围不包括View树中该View下层的组件 |
android:layerType属性说明
| 值 | 说明 |
|---|---|
| none | 不指定 |
| software | 软件层 |
| hardware | 硬件层 |
android:scrollbars的属性说明
| 值 | 说明 |
|---|---|
| none | 不显示滚动条 |
| horizontal | 显示水平滚动条 |
| vertical | 显示垂直滚动条 |
android:scrollbarStyle的属性说明
| 值 | 说明 |
|---|---|
| insideOverlay | 默认值,表示在padding区域内并且覆盖在view上 |
| insideInset | 表示在padding区域内并且插入在view后面 |
| outsideOverlay | 表示在padding区域外并且覆盖在view上 |
| outsideInset | 表示在padding区域外并且插入在view后面 |
android:scrollbars
| 值 | 说明 |
|---|---|
| none | 不显示滚动条 |
| horizontal | 显示水平滚动条 |
| vertical | 显示竖直滚动条 |