public final class ViewUtils
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
ViewUtils.Direction
方向
|
| Modifier and Type | Method and Description |
|---|---|
static android.graphics.Rect |
calculateViewScreenLocation(android.view.View view)
计算控件在屏幕上的坐标
|
static void |
checkAppCompatTheme(android.content.Context context) |
static void |
clearValueAnimator(android.animation.Animator animator)
清除数值动画
|
static void |
expendTouchArea(android.view.View view,
int expendSize)
扩展点击区域的范围
|
static android.view.animation.AlphaAnimation |
fadeIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener)
对 View 做透明度变化的进场动画。
|
static android.view.animation.AlphaAnimation |
fadeIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation)
对 View 做透明度变化的进场动画。
|
static android.view.animation.AlphaAnimation |
fadeOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener)
对 View 做透明度变化的退场动画
|
static android.view.animation.AlphaAnimation |
fadeOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation)
对 View 做透明度变化的退场动画
|
static android.view.View |
findViewFromViewStub(android.view.View parentView,
int viewStubId,
int inflatedViewId)
把 ViewStub inflate 之后在其中根据 id 找 View
|
static android.view.View |
findViewFromViewStub(android.view.View parentView,
int viewStubId,
int inflatedViewId,
int inflateLayoutResId)
inflate ViewStub 并返回对应的 View。
|
static int |
generateViewId() |
static android.view.View |
getActivityRoot(android.app.Activity activity)
获取activity的根view
|
static void |
getDescendantRect(android.view.ViewGroup parent,
android.view.View descendant,
android.graphics.Rect out)
Retrieve the transformed bounding rect of an arbitrary descendant view.
|
static boolean |
getIsLastLineSpacingExtraError()
判断是否需要对 LineSpacingExtra 进行额外的兼容处理
安卓 5.0 以下版本中,LineSpacingExtra 在最后一行也会产生作用,因此会多出一个 LineSpacingExtra 的空白,可以通过该方法判断后进行兼容处理
if (ViewUtils.getISLastLineSpacingExtraError()) {
textView.bottomMargin = -3dp;
} else {
textView.bottomMargin = 0;
}
|
static boolean |
isListViewAlreadyAtBottom(android.widget.ListView listView)
判断 ListView 是否已经滚动到底部。
|
static void |
playBackgroundBlinkAnimation(android.view.View v,
int bgColor)
对 View 的做背景闪动的动画
|
static void |
playViewBackgroundAnimation(android.view.View v,
int bgColor,
int[] alphaArray,
int stepDuration) |
static android.animation.Animator |
playViewBackgroundAnimation(android.view.View v,
int bgColor,
int[] alphaArray,
int stepDuration,
java.lang.Runnable endAction)
对 View 做背景色变化的动作
|
static void |
playViewBackgroundAnimation(android.view.View v,
int startColor,
int endColor,
long duration) |
static void |
playViewBackgroundAnimation(android.view.View v,
int startColor,
int endColor,
long duration,
int repeatCount,
int setAnimTagId,
java.lang.Runnable endAction)
对 View 做背景色变化的动作
|
static void |
requestApplyInsets(android.view.Window window)
触发window的insets的广播,使得view的fitSystemWindows得以生效
|
static void |
safeSetImageViewSelected(android.widget.ImageView imageView,
boolean selected) |
static void |
setBackground(android.view.View view,
android.graphics.drawable.Drawable drawable) |
static void |
setBackgroundColorKeepPadding(android.view.View view,
int color) |
static void |
setBackgroundKeepingPadding(android.view.View view,
android.graphics.drawable.Drawable drawable) |
static void |
setBackgroundKeepingPadding(android.view.View view,
int backgroundResId) |
static android.graphics.ColorFilter |
setImageViewTintColor(android.widget.ImageView imageView,
int tintColor) |
static void |
setPaddingBottom(android.view.View view,
int value)
对 View 设置 paddingBottom
|
static void |
setPaddingLeft(android.view.View view,
int value)
对 View 设置 paddingLeft
|
static void |
setPaddingRight(android.view.View view,
int value)
对 View 设置 paddingRight
|
static void |
setPaddingTop(android.view.View view,
int value)
对 View 设置 paddingTop
|
static android.view.animation.TranslateAnimation |
slideIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation,
ViewUtils.Direction direction)
对 View 做上下位移的进场动画
|
static android.view.animation.TranslateAnimation |
slideIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
ViewUtils.Direction direction)
对 View 做上下位移的进场动画
|
static android.view.animation.TranslateAnimation |
slideOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation,
ViewUtils.Direction direction)
对 View 做上下位移的退场动画
|
static android.view.animation.TranslateAnimation |
slideOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
ViewUtils.Direction direction)
对 View 做上下位移的退场动画
|
public static void checkAppCompatTheme(android.content.Context context)
public static android.view.View getActivityRoot(android.app.Activity activity)
public static void requestApplyInsets(android.view.Window window)
public static void setBackground(android.view.View view,
android.graphics.drawable.Drawable drawable)
public static void setBackgroundKeepingPadding(android.view.View view,
android.graphics.drawable.Drawable drawable)
public static void setBackgroundKeepingPadding(android.view.View view,
int backgroundResId)
public static void setBackgroundColorKeepPadding(android.view.View view,
int color)
public static void playBackgroundBlinkAnimation(android.view.View v,
int bgColor)
public static android.animation.Animator playViewBackgroundAnimation(android.view.View v,
int bgColor,
int[] alphaArray,
int stepDuration,
java.lang.Runnable endAction)
v - 做背景色变化的ViewbgColor - 背景色alphaArray - 背景色变化的alpha数组,如 int[]{255,0} 表示从纯色变化到透明stepDuration - 每一步变化的时长endAction - 动画结束后的回调public static void playViewBackgroundAnimation(android.view.View v,
int bgColor,
int[] alphaArray,
int stepDuration)
public static void playViewBackgroundAnimation(android.view.View v,
int startColor,
int endColor,
long duration,
int repeatCount,
int setAnimTagId,
java.lang.Runnable endAction)
v - 做背景色变化的ViewstartColor - 动画开始时 View 的背景色endColor - 动画结束时 View 的背景色duration - 动画总时长repeatCount - 动画重复次数setAnimTagId - 将动画设置tag给view,若为0则不设置endAction - 动画结束后的回调public static void playViewBackgroundAnimation(android.view.View v,
int startColor,
int endColor,
long duration)
public static int generateViewId()
public static android.view.animation.AlphaAnimation fadeIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener)
对 View 做透明度变化的进场动画。
相关方法 fadeOut(View, int, Animation.AnimationListener, boolean)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调public static android.view.animation.AlphaAnimation fadeIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation)
对 View 做透明度变化的进场动画。
相关方法 fadeOut(View, int, Animation.AnimationListener, boolean)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调isNeedAnimation - 是否需要动画public static android.view.animation.AlphaAnimation fadeOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener)
对 View 做透明度变化的退场动画
相关方法 fadeIn(View, int, Animation.AnimationListener, boolean)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调public static android.view.animation.AlphaAnimation fadeOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation)
对 View 做透明度变化的退场动画
相关方法 fadeIn(View, int, Animation.AnimationListener, boolean)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调isNeedAnimation - 是否需要动画public static void clearValueAnimator(android.animation.Animator animator)
animator - public static android.graphics.Rect calculateViewScreenLocation(android.view.View view)
view - public static android.view.animation.TranslateAnimation slideIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
ViewUtils.Direction direction)
对 View 做上下位移的进场动画
相关方法 slideOut(View, int, Animation.AnimationListener, boolean, Direction)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调direction - 进场动画的方向public static android.view.animation.TranslateAnimation slideIn(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation,
ViewUtils.Direction direction)
对 View 做上下位移的进场动画
相关方法 slideOut(View, int, Animation.AnimationListener, boolean, Direction)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调isNeedAnimation - 是否需要动画direction - 进场动画的方向public static android.view.animation.TranslateAnimation slideOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
ViewUtils.Direction direction)
对 View 做上下位移的退场动画
相关方法 slideIn(View, int, Animation.AnimationListener, boolean, Direction)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调direction - 进场动画的方向public static android.view.animation.TranslateAnimation slideOut(android.view.View view,
int duration,
android.view.animation.Animation.AnimationListener listener,
boolean isNeedAnimation,
ViewUtils.Direction direction)
对 View 做上下位移的退场动画
相关方法 slideIn(View, int, Animation.AnimationListener, boolean, Direction)
view - 做动画的 Viewduration - 动画时长(毫秒)listener - 动画回调isNeedAnimation - 是否需要动画direction - 进场动画的方向public static void expendTouchArea(android.view.View view,
int expendSize)
view - 需要扩展的元素,此元素必需要有父级元素expendSize - 需要扩展的尺寸(以xp为单位的)public static void setPaddingLeft(android.view.View view,
int value)
view - 需要被设置的 Viewvalue - 设置的值public static void setPaddingTop(android.view.View view,
int value)
view - 需要被设置的 Viewvalue - 设置的值public static void setPaddingRight(android.view.View view,
int value)
view - 需要被设置的 Viewvalue - 设置的值public static void setPaddingBottom(android.view.View view,
int value)
view - 需要被设置的 Viewvalue - 设置的值public static boolean getIsLastLineSpacingExtraError()
public static android.view.View findViewFromViewStub(android.view.View parentView,
int viewStubId,
int inflatedViewId)
parentView - 包含 ViewStub 的 ViewviewStubId - 要从哪个 ViewStub 来 inflateinflatedViewId - 最终要找到的 View 的 idpublic static android.view.View findViewFromViewStub(android.view.View parentView,
int viewStubId,
int inflatedViewId,
int inflateLayoutResId)
public static void safeSetImageViewSelected(android.widget.ImageView imageView,
boolean selected)
public static android.graphics.ColorFilter setImageViewTintColor(android.widget.ImageView imageView,
int tintColor)
public static boolean isListViewAlreadyAtBottom(android.widget.ListView listView)
listView - 需要被判断的 ListView。public static void getDescendantRect(android.view.ViewGroup parent,
android.view.View descendant,
android.graphics.Rect out)
descendant - descendant view to referenceout - rect to set to the bounds of the descendant view