View 是 Android 中所有 UI 控件的基类,提供了各种办法来管制和治理控件的显示、交互等行为。以下是 View 类的全副办法介绍:
构造方法
View(Context context)
View(Context context, AttributeSet attrs)
View(Context context, AttributeSet attrs, int defStyleAttr)
View(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
显示相干办法
setVisibility(int visibility):设置 View 的可见性;
getWindowVisibleDisplayFrame(Rect outRect):获取以后可见区域的矩形;
getGlobalVisibleRect(Rect r):获取 View 在屏幕上可见的矩形;
postInvalidate():申请从新绘制 View;
invalidate():立刻从新绘制 View。
尺寸相干办法
getWidth() 和 getHeight():获取 View 的宽度和高度;
getMeasuredWidth() 和 getMeasuredHeight():获取测量后的 View 宽度和高度;
setMinimumWidth(int minWidth) 和 setMinimumHeight(int minHeight):设置 View 的最小宽度和最小高度;
setLayoutParams(ViewGroup.LayoutParams params):设置 View 的布局参数;
requestLayout():申请从新测量和布局 View。
地位相干办法
getX() 和 getY():获取 View 在父容器中的地位坐标;
getLeft()、getTop()、getRight() 和 getBottom():获取 View 四个边界的坐标;
getLocationOnScreen(int[] location):获取 View 在屏幕上的地位坐标;
setX(float x) 和 setY(float y):设置 View 的横纵坐标;
setTranslationX(float translationX) 和 setTranslationY(float translationY):设置 View 的平移间隔。
动画相干办法
animate():返回 ViewPropertyAnimator 对象,用于启动 View 的动画;
setRotation(float rotation):设置 View 的旋转角度;
setScaleX(float scaleX) 和 setScaleY(float scaleY):设置 View 的缩放比例;
setPivotX(float pivotX) 和 setPivotY(float pivotY):设置 View 的缩放和旋转中心点坐标;
setAlpha(float alpha):设置 View 的透明度。
状态相干办法
setSelected(boolean selected):设置 View 是否选中;
isEnabled() 和 setEnabled(boolean enabled):获取或设置 View 是否可用;
isActivated() 和 setActivated(boolean activated):获取或设置 View 是否激活状态;
isFocused() 和 setFocusable(boolean focusable):获取或设置 View 是否获取焦点。
事件相干办法
setOnClickListener(View.OnClickListener l):为 View 设置点击事件监听器;
setOnLongClickListener(View.OnLongClickListener l):为 View 设置长按事件监听器;
setOnTouchListener(View.OnTouchListener l):为 View 设置触摸事件监听器;
setOnClickListener(View.OnClickListener l):为 View 设置点击事件监听器;
setOnHoverListener(View.OnHoverListener l):为 View 设置悬浮事件监听器;
setOnKeyListener(View.OnKeyListener l):为 View 设置按键事件监听器;
setOnFocusChangeListener(View.OnFocusChangeListener l):为 View 设置焦点变动事件监听器;
setOnDragListener(View.OnDragListener l):为 View 设置拖拽事件监听器。
内容相干办法
getContentDescription() 和 setContentDescription(CharSequence contentDescription):获取或设置 View 的内容形容;
setBackground(Drawable background) 和 setBackgroundColor(int color):设置 View 的背景;
setBackgroundResource(int resId):设置 View 的背景资源;
setScaleType(ImageView.ScaleType scaleType):设置 ImageView 图片的缩放形式。
键盘、输入法相干办法
onCheckIsTextEditor() 和 onCreateInputConnection(EditorInfo outAttrs):用于编辑文本的输入框设置;
setImeActionLabel(CharSequence label, int actionId):设置输入法区域显示的文本标签;
setOnEditorActionListener(TextView.OnEditorActionListener l):为 TextView 设置输入法操作监听器。
绘制相干办法
setLayerType(int layerType, Paint paint):设置 View 的图层类型;
clearColorFilter() 和 setColorFilter(int color, PorterDuff.Mode mode):对 View 设置色彩滤镜;
draw(Canvas canvas):绘制 View 的内容。
除了上述办法外,View 还提供了一些其余的回调办法,例如 onMeasure()、onLayout() 和 onDraw() 等,在子类中能够笼罩这些办法来实现自定义的控件。