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 |
clearAllViewLongClick(android.view.View view)
清除所有控件的长按事件
|
static void |
clearValueAnimator(android.animation.Animator animator)
清除数值动画
|
static void |
clearViewLongClick(android.view.View rootView,
int... ids)
清除控件的长按事件
|
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 void |
setChecked(android.widget.CompoundButton view,
boolean isCheck)
设置控件的选中状态
|
static void |
setCheckedSilent(android.widget.CompoundButton view,
boolean isCheck,
android.widget.CompoundButton.OnCheckedChangeListener checkedChangeListener)
设置控件的选中状态【静默】
|
static void |
setEnabled(android.view.View view,
boolean enabled)
设置控件是否可用
|
static void |
setImageDrawable(android.widget.ImageView view,
android.graphics.drawable.Drawable drawable)
设置控件的图片资源
|
static void |
setImageLevel(android.widget.ImageView view,
int level)
设置图片的等级
|
static void |
setImageResource(android.widget.ImageView view,
int imageId)
设置控件的图片资源
|
static void |
setImageTint(android.widget.ImageView view,
android.content.res.ColorStateList tint)
给图片着色
|
static void |
setImageUri(android.widget.ImageView view,
java.lang.Object uri)
设置控件的图片资源
|
static android.graphics.ColorFilter |
setImageViewTintColor(android.widget.ImageView imageView,
int tintColor) |
static void |
setOnCheckedChangeListener(android.widget.CompoundButton view,
android.widget.CompoundButton.OnCheckedChangeListener checkedChangeListener)
设置控件的选中监听
|
static void |
setPadding(android.view.View view,
int padding)
设置控件的padding
|
static void |
setPaddingBottom(android.view.View view,
int value)
对 View 设置 paddingBottom
|
static void |
setPaddingEnd(android.view.View view,
int value)
对 View 设置 paddingEnd
|
static void |
setPaddingLeft(android.view.View view,
int value)
对 View 设置 paddingLeft
|
static void |
setPaddingRight(android.view.View view,
int value)
对 View 设置 paddingRight
|
static void |
setPaddingStart(android.view.View view,
int value)
对 View 设置 paddingStart
|
static void |
setPaddingTop(android.view.View view,
int value)
对 View 设置 paddingTop
|
static void |
setText(android.widget.TextView view,
int textId)
设置控件的文字
|
static void |
setText(android.widget.TextView view,
java.lang.String text)
设置控件的文字
|
static void |
setToolbarLayoutTextFont(CollapsingToolbarLayout collapsingToolbarLayout)
设置CollapsingToolbarLayout选项卡的字体
|
static void |
setToolbarLayoutTextFont(CollapsingToolbarLayout collapsingToolbarLayout,
android.graphics.Typeface typeface)
设置CollapsingToolbarLayout选项卡的字体
|
static void |
setViewsFont(android.graphics.Typeface typeface,
android.view.View... views)
设置控件的字体
|
static void |
setViewsFont(android.view.View... views)
设置控件的字体
|
static void |
setViewTextFont(android.view.View view,
android.graphics.Typeface typeface)
设置控件的字体
|
static void |
setVisibility(android.view.View view,
boolean isShow)
设置控件的可见度
|
static void |
setVisibility(android.view.View view,
int visibility)
设置控件的可见度
|
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 做上下位移的退场动画
|
static void |
textColorId(android.widget.TextView view,
int colorId)
设置控件的文字颜色
|
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 setVisibility(android.view.View view,
boolean isShow)
view - 控件isShow - 是否可见public static void setVisibility(android.view.View view,
int visibility)
view - 控件visibility - public static void setEnabled(android.view.View view,
boolean enabled)
view - 控件enabled - 是否可用public static void setText(android.widget.TextView view,
java.lang.String text)
view - 控件text - 文字public static void setText(android.widget.TextView view,
int textId)
view - 控件textId - 文字资源public static void textColorId(android.widget.TextView view,
int colorId)
view - 控件colorId - 文字颜色public static void setImageResource(android.widget.ImageView view,
int imageId)
view - 控件imageId - 图片资源IDpublic static void setImageDrawable(android.widget.ImageView view,
android.graphics.drawable.Drawable drawable)
view - 控件drawable - 图片资源public static void setImageUri(android.widget.ImageView view,
java.lang.Object uri)
view - 控件uri - 图片资源public static void setImageLevel(android.widget.ImageView view,
int level)
view - 控件level - 图片等级public static void setImageTint(android.widget.ImageView view,
android.content.res.ColorStateList tint)
view - 控件tint - 着色public static void setChecked(android.widget.CompoundButton view,
boolean isCheck)
view - 控件isCheck - 是否选中public static void setOnCheckedChangeListener(android.widget.CompoundButton view,
android.widget.CompoundButton.OnCheckedChangeListener checkedChangeListener)
view - 控件checkedChangeListener - 选中监听public static void setCheckedSilent(android.widget.CompoundButton view,
boolean isCheck,
android.widget.CompoundButton.OnCheckedChangeListener checkedChangeListener)
view - 控件isCheck - 是否选中checkedChangeListener - 选中监听public static void expendTouchArea(android.view.View view,
int expendSize)
view - 需要扩展的元素,此元素必需要有父级元素expendSize - 需要扩展的尺寸(以xp为单位的)public static void setPadding(android.view.View view,
int padding)
view - 控件padding - public static void setPaddingLeft(android.view.View view,
int value)
view - 需要被设置的 Viewvalue - 设置的值public static void setPaddingStart(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 setPaddingEnd(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 viewpublic static void setViewTextFont(android.view.View view,
android.graphics.Typeface typeface)
view - 控件typeface - 字体public static void setViewsFont(android.graphics.Typeface typeface,
android.view.View... views)
typeface - 字体views - 控件集合public static void setViewsFont(android.view.View... views)
views - 控件集合public static void clearViewLongClick(android.view.View rootView,
int... ids)
rootView - 根布局ids - 需要清除的控件id集合public static void clearAllViewLongClick(android.view.View view)
view - 根布局public static void setToolbarLayoutTextFont(CollapsingToolbarLayout collapsingToolbarLayout)
collapsingToolbarLayout - CollapsingToolbarLayoutpublic static void setToolbarLayoutTextFont(CollapsingToolbarLayout collapsingToolbarLayout,
android.graphics.Typeface typeface)
collapsingToolbarLayout - CollapsingToolbarLayouttypeface - 字体