Android View 链式调用快捷设置 Helper 类

DevUtils Github

方法 注释
get 获取单例 ViewHelper
viewHelper 获取 ViewHelper
devHelper 获取 DevHelper
postRunnable 在主线程 Handler 中执行任务
removeRunnable 在主线程 Handler 中清除任务
setHint 设置 Hint 文本
setText 设置文本
setTexts 设置多个 TextView 文本
setHtmlText 设置 Html 内容
setHtmlTexts 设置多个 TextView Html 内容
setHintTextColor 设置 Hint 字体颜色
setHintTextColors 设置多个 TextView Hint 字体颜色
setTextColor 设置字体颜色
setTextColors 设置多个 TextView 字体颜色
setTypeface 设置字体
setTextSizeByPx 设置字体大小 - px 像素
setTextSizeBySp 设置字体大小 - sp 缩放像素
setTextSizeByDp 设置字体大小 - dp 与设备无关的像素
setTextSizeByIn 设置字体大小 - inches 英寸
setTextSize 设置字体大小
setTextSizes 设置多个 TextView 字体大小
clearFlags 清空 flags
setBold 设置 TextView 是否加粗
setUnderlineText 设置下划线
setStrikeThruText 设置中划线
setLetterSpacing 设置文字水平间距
setLineSpacing 设置文字行间距 ( 行高 )
setLineSpacingAndMultiplier 设置文字行间距 ( 行高 )、行间距倍数
setTextScaleX 设置字体水平方向的缩放
setIncludeFontPadding 设置是否保留字体留白间隙区域
setInputType 设置输入类型
setImeOptions 设置软键盘右下角按钮类型
setLines 设置行数
setMaxLines 设置最大行数
setMinLines 设置最小行数
setMaxEms 设置最大字符宽度限制
setMinEms 设置最小字符宽度限制
setEms 设置指定字符宽度
setEllipsize 设置 Ellipsize 效果
setAutoLinkMask 设置自动识别文本链接
setAllCaps 设置文本全为大写
setTextGravity 设置 Text Gravity
insert 追加内容 ( 当前光标位置追加 )
setMaxLength 设置长度限制
setMaxLengthAndText 设置长度限制, 并且设置内容
setCursorVisible 设置是否显示光标
setSelectionToTop 设置光标在第一位
setSelectionToBottom 设置光标在最后一位
setSelection 设置光标位置
setTransformationMethod 设置文本视图显示转换
addTextChangedListener 添加输入监听事件
removeTextChangedListener 移除输入监听事件
setKeyListener 设置 KeyListener
setAdjustViewBounds 设置 ImageView 是否保持宽高比
setMaxHeight 设置 ImageView 最大高度
setMaxWidth 设置 ImageView 最大宽度
setBackground 设置背景图片
setBackgroundColor 设置背景颜色
setBackgroundResource 设置背景资源
setBackgroundTintList 设置背景着色颜色
setBackgroundTintMode 设置背景着色模式
setForeground 设置前景图片
setForegroundGravity 设置前景重心
setForegroundTintList 设置前景着色颜色
setForegroundTintMode 设置前景着色模式
setImageBitmap 设置 ImageView Bitmap
setImageDrawable 设置 ImageView Drawable
setImageResource 设置 ImageView 资源
setImageMatrix 设置 ImageView Matrix
setImageTintList 设置 ImageView 着色颜色
setImageTintMode 设置 ImageView 着色模式
setScaleType 设置 ImageView 缩放类型
setColorFilter ImageView 着色处理
setBackgroundResources 设置 View 图片资源
setImageResources 设置 View 图片资源
setImageBitmaps 设置 View Bitmap
setImageDrawables 设置 View Drawable
setScaleTypes 设置 View 缩放模式
setWidthHeight 设置 View 宽度、高度
setWidth 设置 View 宽度
setHeight 设置 View 高度
setMinimumHeight 设置 View 最小高度
setMinimumWidth 设置 View 最小宽度
setAlpha 设置 View 透明度
setTag 设置 View Tag
scrollTo View 内容滚动位置 - 相对于初始位置移动
scrollBy View 内部滚动位置 - 相对于上次移动的最后位置移动
setDescendantFocusability 设置 ViewGroup 和其子控件两者之间的关系
setOverScrollMode 设置 View 滚动模式
setHorizontalScrollBarEnabled 设置是否绘制横向滚动条
setVerticalScrollBarEnabled 设置是否绘制垂直滚动条
setScrollContainer 设置 View 滚动效应
setNextFocusForwardId 设置下一个获取焦点的 View id
setNextFocusDownId 设置向下移动焦点时, 下一个获取焦点的 View id
setNextFocusLeftId 设置向左移动焦点时, 下一个获取焦点的 View id
setNextFocusRightId 设置向右移动焦点时, 下一个获取焦点的 View id
setNextFocusUpId 设置向上移动焦点时, 下一个获取焦点的 View id
setRotation 设置 View 旋转度数
setRotationX 设置 View 水平旋转度数
setRotationY 设置 View 竖直旋转度数
setScaleX 设置 View 水平方向缩放比例
setScaleY 设置 View 竖直方向缩放比例
setTextAlignment 设置文本的显示方式
setTextDirection 设置文本的显示方向
setPivotX 设置水平方向偏转量
setPivotY 设置竖直方向偏转量
setTranslationX 设置水平方向的移动距离
setTranslationY 设置竖直方向的移动距离
setLayerType 设置 View 硬件加速类型
requestLayout 请求重新对 View 布局
requestFocus View 请求获取焦点
clearFocus View 清除焦点
requestLayoutParent View 请求更新
setLayoutParams 设置 View LayoutParams
setFocusableInTouchMode 设置 View 是否在触摸模式下获得焦点
setFocusable 设置 View 是否可以获取焦点
setSelected 设置 View 是否选中
setEnabled 设置 View 是否启用
setClickable 设置 View 是否可以点击
setLongClickable 设置 View 是否可以长按
setVisibility 设置 View 显示的状态
setVisibilitys 设置 View 显示的状态
toggleVisibilitys 切换 View 显示的状态
reverseVisibilitys 反转 View 显示的状态
removeSelfFromParent 把自身从父 View 中移除
setLayoutGravity 设置 View Layout Gravity
setMarginLeft 设置 View Left Margin
setMarginTop 设置 View Top Margin
setMarginRight 设置 View Right Margin
setMarginBottom 设置 View Bottom Margin
setMargin 设置 Margin 边距
setPaddingLeft 设置 View Left Padding
setPaddingTop 设置 View Top Padding
setPaddingRight 设置 View Right Padding
setPaddingBottom 设置 View Bottom Padding
setPadding 设置 Padding 边距
setCompoundDrawablesByLeft 设置 Left CompoundDrawables
setCompoundDrawablesByTop 设置 Top CompoundDrawables
setCompoundDrawablesByRight 设置 Right CompoundDrawables
setCompoundDrawablesByBottom 设置 Bottom CompoundDrawables
setCompoundDrawables 设置 CompoundDrawables
setCompoundDrawablesWithIntrinsicBoundsByLeft 设置 Left CompoundDrawables - 按照原有比例大小显示图片
setCompoundDrawablesWithIntrinsicBoundsByTop 设置 Top CompoundDrawables - 按照原有比例大小显示图片
setCompoundDrawablesWithIntrinsicBoundsByRight 设置 Right CompoundDrawables - 按照原有比例大小显示图片
setCompoundDrawablesWithIntrinsicBoundsByBottom 设置 Bottom CompoundDrawables - 按照原有比例大小显示图片
setCompoundDrawablesWithIntrinsicBounds 设置 CompoundDrawables - 按照原有比例大小显示图片
addRule 设置 RelativeLayout View 布局规则
removeRule 移除 RelativeLayout View 布局规则
addRules 设置多个 RelativeLayout View 布局规则
removeRules 移除多个 RelativeLayout View 布局规则
setAnimation 设置动画
clearAnimation 清空动画
startAnimation 启动动画
setOnClicks 设置点击事件
setOnLongClicks 设置长按事件
addTouchArea 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域
smoothScrollToPosition 滑动到指定索引 ( 有滚动过程 )
scrollToPosition 滑动到指定索引 ( 无滚动过程 )
smoothScrollToTop 滑动到顶部 ( 有滚动过程 )
scrollToTop 滑动到顶部 ( 无滚动过程 )
smoothScrollToBottom 滑动到底部 ( 有滚动过程 )
scrollToBottom 滑动到底部 ( 无滚动过程 )
smoothScrollTo 滚动到指定位置 ( 有滚动过程 ) - 相对于初始位置移动
smoothScrollBy 滚动到指定位置 ( 有滚动过程 ) - 相对于上次移动的最后位置移动
fullScroll 滚动方向 ( 有滚动过程 )
package dev.utils.app.helper;

import android.content.res.ColorStateList;
import android.graphics.Bitmap;
import android.graphics.ColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.ColorInt;
import android.support.annotation.DrawableRes;
import android.support.annotation.FloatRange;
import android.support.annotation.IdRes;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.method.KeyListener;
import android.text.method.TransformationMethod;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import dev.utils.app.ClickUtils;
import dev.utils.app.EditTextUtils;
import dev.utils.app.HandlerUtils;
import dev.utils.app.ImageViewUtils;
import dev.utils.app.ListViewUtils;
import dev.utils.app.ListenerUtils;
import dev.utils.app.TextViewUtils;
import dev.utils.app.ViewUtils;

/**
 * detail: View 链式调用快捷设置 Helper 类
 * @author Ttt
 * <pre>
 *     通过 DevApp 工具类快捷实现
 *     <p></p>
 *     DevApp Api
 *     @see <a href="https://github.com/afkT/DevUtils/blob/master/lib/DevApp/README.md"/>
 * </pre>
 */
public final class ViewHelper {
   

    // ViewHelper
    private static final ViewHelper HELPER = new ViewHelper();

    /**
     * 获取单例 ViewHelper
     * @return {@link ViewHelper}
     */
    public static ViewHelper get() {
   
        return HELPER;
    }

    // ==========
    // = Helper =
    // ==========

    /**
     * 获取 ViewHelper
     * @return {@link ViewHelper}
     */
    public ViewHelper viewHelper() {
   
        return this;
    }

    /**
     * 获取 DevHelper
     * @return {@link DevHelper}
     */
    public DevHelper devHelper() {
   
        return DevHelper.get();
    }

    // ===========
    // = Handler =
    // ===========

    /**
     * 在主线程 Handler 中执行任务
     * @param runnable 可执行的任务
     * @return {@link ViewHelper}
     */
    public ViewHelper postRunnable(final Runnable runnable) {
   
        HandlerUtils.postRunnable(runnable);
        return this;
    }

    /**
     * 在主线程 Handler 中执行延迟任务
     * @param runnable    可执行的任务
     * @param delayMillis 延迟时间
     * @return {@link ViewHelper}
     */
    public ViewHelper postRunnable(final Runnable runnable, final long delayMillis) {
   
        HandlerUtils.postRunnable(runnable, delayMillis);
        return this;
    }

    /**
     * 在主线程 Handler 中执行延迟任务
     * @param runnable    可执行的任务
     * @param delayMillis 延迟时间
     * @param number      轮询次数
     * @param interval    轮询时间
     * @return {@link ViewHelper}
     */
    public ViewHelper postRunnable(final Runnable runnable, final long delayMillis, final int number, final int interval) {
   
        HandlerUtils.postRunnable(runnable, delayMillis, number, interval);
        return this;
    }

    /**
     * 在主线程 Handler 中执行延迟任务
     * @param runnable      可执行的任务
     * @param delayMillis   延迟时间
     * @param number        轮询次数
     * @param interval      轮询时间
     * @param onEndListener 结束通知
     * @return {@link ViewHelper}
     */
    public ViewHelper postRunnable(final Runnable runnable, final long delayMillis, final int number, final int interval, final HandlerUtils.OnEndListener onEndListener) {
   
        HandlerUtils.postRunnable(runnable, delayMillis, number, interval, onEndListener);
        return this;
    }

    /**
     * 在主线程 Handler 中清除任务
     * @param runnable 需要清除的任务
     * @return {@link ViewHelper}
     */
    public ViewHelper removeRunnable(final Runnable runnable) {
   
        HandlerUtils.removeRunnable(runnable);
        return this;
    }

    // ========
    // = Text =
    // ========

    /**
     * 设置 Hint 文本
     * @param view {@link TextView}
     * @param text Hint text
     * @return {@link ViewHelper}
     */
    public ViewHelper setHint(final View view, final String text) {
   
        TextViewUtils.setHint(view, text);
        return this;
    }

    /**
     * 设置文本
     * @param view {@link TextView}
     * @param text TextView text
     * @return {@link ViewHelper}
     */
    public ViewHelper setText(final View view, final String text) {
   
        if (view instanceof EditText) {
   
            EditTextUtils.setText(EditTextUtils.getEditText(view), text);
        } else {
   
            TextViewUtils.setText(view, text);
        }
        return this;
    }

    /**
     * 设置多个 TextView 文本
     * @param text  TextView text
     * @param views View(TextView)[]
     * @return {@link ViewHelper}
     */
    public ViewHelper setTexts(final String text, final View... views) {
   
        TextViewUtils.setTexts(text, views);
        return this;
    }

    /**
     * 设置 Html 内容
     * @param view    {@link TextView}
     * @param content Html content
     * @return {@link ViewHelper}
     */
    public ViewHelper setHtmlText(final View view, final String content) {
   
        TextViewUtils.setHtmlText(view, content);
        return this;
    }

    /**
     * 设置多个 TextView Html 内容
     * @param content Html content
     * @param views   View(TextView)[]
     * @return {@link ViewHelper}
     */
    public ViewHelper setHtmlTexts(final String content, final View... views) {
   
        TextViewUtils.setHtmlTexts(content, views);
        return this;
    }

    /**
     * 设置 Hint 字体颜色
     * @param view  {@link TextView}
     * @param color R.color.id
     * @return {@link ViewHelper}
     */
    public ViewHelper setHintTextColor(final View view, @ColorInt final int color) {
   
        TextViewUtils.setHintTextColor(view, color);
        return this;
    }

    /**
     * 设置 Hint 字体颜色
     * @param view   {@link TextView}
     * @param colors {@link ColorStateList}
     * @return {@link ViewHelper}
     */
    public ViewHelper setHintTextColor(final View view, final ColorStateList colors) {
   
        TextViewUtils.setHintTextColor(view, colors);
        return this;
    }

    /**
     * 设置多个 TextView Hint 字体颜色
     * @param color R.color.id
     * @param views View(TextView)[]
     * @return {@link ViewHelper}
     */
    public ViewHelper setHintTextColors(@ColorInt final int color, final View... views) {
   
        TextViewUtils.setHintTextColors(color, views);
        return this;
    }

    /**
     * 设置多个 TextView Hint 字体颜色
     * @param colors {@link ColorStateList}
     * @param views  View(TextView)[]
     * @return {@link ViewHelper}
     */
    public ViewHelper setHintTextColors(final ColorStateList colors, final View... views) {
   
        TextViewUtils.setHintTextColors(colors, views);
        return this;
    }

    /**
     * 设置字体颜色
     * @param view  {@link TextView}
     * @param color R.color.id
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextColor(final View view, @ColorInt final int color) {
   
        TextViewUtils.setTextColor(view, color);
        return this;
    }

    /**
     * 设置字体颜色
     * @param view   {@link TextView}
     * @param colors {@link ColorStateList}
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextColor(final View view, final ColorStateList colors) {
   
        TextViewUtils.setTextColor(view, colors);
        return this;
    }

    /**
     * 设置多个 TextView 字体颜色
     * @param color R.color.id
     * @param views View(TextView)[]
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextColors(@ColorInt final int color, final View... views) {
   
        TextViewUtils.setTextColors(color, views);
        return this;
    }

    /**
     * 设置多个 TextView 字体颜色
     * @param colors {@link ColorStateList}
     * @param views  View(TextView)[]
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextColors(final ColorStateList colors, final View... views) {
   
        TextViewUtils.setTextColors(colors, views);
        return this;
    }

    /**
     * 设置字体
     * @param view     {@link TextView}
     * @param typeface {@link Typeface} 字体样式
     * @return {@link ViewHelper}
     */
    public ViewHelper setTypeface(final View view, final Typeface typeface) {
   
        TextViewUtils.setTypeface(view, typeface);
        return this;
    }

    /**
     * 设置字体大小 - px 像素
     * @param view {@link TextView}
     * @param size 字体大小
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextSizeByPx(final View view, final float size) {
   
        TextViewUtils.setTextSizeByPx(view, size);
        return this;
    }

    /**
     * 设置字体大小 - sp 缩放像素
     * @param view {@link TextView}
     * @param size 字体大小
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextSizeBySp(final View view, final float size) {
   
        TextViewUtils.setTextSizeBySp(view, size);
        return this;
    }

    /**
     * 设置字体大小 - dp 与设备无关的像素
     * @param view {@link TextView}
     * @param size 字体大小
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextSizeByDp(final View view, final float size) {
   
        TextViewUtils.setTextSizeByDp(view, size);
        return this;
    }

    /**
     * 设置字体大小 - inches 英寸
     * @param view {@link TextView}
     * @param size 字体大小
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextSizeByIn(final View view, final float size) {
   
        TextViewUtils.setTextSizeByIn(view, size);
        return this;
    }

    /**
     * 设置字体大小
     * @param view {@link TextView}
     * @param unit 字体参数类型
     * @param size 字体大小
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextSize(final View view, final int unit, final float size) {
   
        TextViewUtils.setTextSize(view, unit, size);
        return this;
    }

    /**
     * 设置多个 TextView 字体大小
     * @param views View(TextView)[]
     * @param unit  参数类型
     * @param size  字体大小
     * @return {@link ViewHelper}
     */
    public ViewHelper setTextSizes(final View[] views, final int unit, final float size) {
   
        TextViewUtils.setTextSizes(views, unit, size);
        return this;
    }

    /**
     * 清空 flags
     * @param view {@link TextView}
     * @return {@link ViewHelper}
     */
    public ViewHelper clearFlags(final View view) {
   
        TextViewUtils.clearFlags(view);
        return this;
    }

    /**
     * 设置 TextView 是否加粗
     * @param view   {@link TextView}
     * @param isBold {@code true} yes, {@code false} no
     * @return {@link ViewHelper}
     */
    public ViewHelper setBold(final View view, final boolean isBold) {
   
        TextViewUtils.setBold(view, isBold);
        return this;
    }

    /**
     * 设置 TextView 是否加粗
     * @param view     {@link TextView}
     * @param typeface {@link Typeface} 字体样式
     * @param isBold   {@code true} yes, {@code false} no
     * @return {@link ViewHelper}
     */
    public ViewHelper setBold(final View view, final Typeface typeface, final boolean isBold) {
   
        TextViewUtils.setBold(view, typeface, isBold);
        return this;
    }

    /**
     * 设置下划线
     * @param view {@link TextView}
     * @return {@link ViewHelper}
     */
    public ViewHelper setUnderlineText(final View view) {
   
        TextViewUtils.setUnderlineText(view);
        return this;
    }

    /**
     * 设置下划线并加清晰
     * @param view        {@link TextView}
     * @param isAntiAlias 是否消除锯齿
     * @return {@link ViewHelper}
     */
    public ViewHelper setUnderlineText(final View view,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值