DevUtils Github
- View 鏈式調用快捷設置 Helper 類 -> ViewHelper.java
方法 | 註釋 |
---|---|
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, final boolean isAntiAlias) {
TextViewUtils.setUnderlineText(view, isAntiAlias);
return this;
}
/**
* 設置中劃線
* @param view {@link TextView}
* @return {@link ViewHelper}
*/
public ViewHelper setStrikeThruText(final View view) {
TextViewUtils.setStrikeThruText(view);
return this;
}
/**
* 設置中劃線並加清晰
* @param view {@link TextView}
* @param isAntiAlias 是否消除鋸齒
* @return {@link ViewHelper}
*/
public ViewHelper setStrikeThruText(final View view, final boolean isAntiAlias) {
TextViewUtils.setStrikeThruText(view, isAntiAlias);
return this;
}
/**
* 設置文字水平間距
* @param view {@link TextView}
* @param letterSpacing 文字水平間距值
* @return {@link ViewHelper}
*/
public ViewHelper setLetterSpacing(final View view, final float letterSpacing) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
TextViewUtils.setLetterSpacing(view, letterSpacing);
}
return this;
}
/**
* 設置文字行間距 ( 行高 )
* @param view {@link TextView}
* @param lineSpacing 文字行間距 ( 行高 ), android:lineSpacingExtra
* @return {@link ViewHelper}
*/
public ViewHelper setLineSpacing(final View view, final float lineSpacing) {
TextViewUtils.setLineSpacing(view, lineSpacing);
return this;
}
/**
* 設置文字行間距 ( 行高 )、行間距倍數
* @param view {@link TextView}
* @param lineSpacing 文字行間距 ( 行高 ), android:lineSpacingExtra
* @param multiplier 行間距倍數, android:lineSpacingMultiplier
* @return {@link ViewHelper}
*/
public ViewHelper setLineSpacingAndMultiplier(final View view, final float lineSpacing, final float multiplier) {
TextViewUtils.setLineSpacingAndMultiplier(view, lineSpacing, multiplier);
return this;
}
/**
* 設置字體水平方向的縮放
* @param view {@link TextView}
* @param size 縮放比例
* @return {@link ViewHelper}
*/
public ViewHelper setTextScaleX(final View view, final float size) {
TextViewUtils.setTextScaleX(view, size);
return this;
}
/**
* 設置是否保留字體留白間隙區域
* @param view {@link TextView}
* @param includepad 是否保留字體留白間隙區域
* @return {@link ViewHelper}
*/
public ViewHelper setIncludeFontPadding(final View view, final boolean includepad) {
TextViewUtils.setIncludeFontPadding(view, includepad);
return this;
}
/**
* 設置輸入類型
* @param view {@link TextView}
* @param type 類型
* @return {@link ViewHelper}
*/
public ViewHelper setInputType(final View view, final int type) {
TextViewUtils.setInputType(view, type);
return this;
}
/**
* 設置軟鍵盤右下角按鈕類型
* @param view {@link TextView}
* @param imeOptions 軟鍵盤按鈕類型
* @return {@link ViewHelper}
*/
public ViewHelper setImeOptions(final View view, final int imeOptions) {
TextViewUtils.setImeOptions(view, imeOptions);
return this;
}
/**
* 設置行數
* @param view {@link TextView}
* @param lines 行數
* @return {@link ViewHelper}
*/
public ViewHelper setLines(final View view, final int lines) {
TextViewUtils.setLines(view, lines);
return this;
}
/**
* 設置最大行數
* @param view {@link TextView}
* @param maxLines 最大行數
* @return {@link ViewHelper}
*/
public ViewHelper setMaxLines(final View view, final int maxLines) {
TextViewUtils.setMaxLines(view, maxLines);
return this;
}
/**
* 設置最小行數
* @param view {@link TextView}
* @param minLines 最小行數
* @return {@link ViewHelper}
*/
public ViewHelper setMinLines(final View view, final int minLines) {
TextViewUtils.setMinLines(view, minLines);
return this;
}
/**
* 設置最大字符寬度限制
* @param view {@link TextView}
* @param maxEms 最大字符
* @return {@link ViewHelper}
*/
public ViewHelper setMaxEms(final View view, final int maxEms) {
TextViewUtils.setMaxEms(view, maxEms);
return this;
}
/**
* 設置最小字符寬度限制
* @param view {@link TextView}
* @param minEms 最小字符
* @return {@link ViewHelper}
*/
public ViewHelper setMinEms(final View view, final int minEms) {
TextViewUtils.setMinEms(view, minEms);
return this;
}
/**
* 設置指定字符寬度
* @param view {@link TextView}
* @param ems 字符
* @return {@link ViewHelper}
*/
public ViewHelper setEms(final View view, final int ems) {
TextViewUtils.setEms(view, ems);
return this;
}
/**
* 設置 Ellipsize 效果
* @param view {@link TextView}
* @param where {@link TextUtils.TruncateAt}
* @return {@link ViewHelper}
*/
public ViewHelper setEllipsize(final View view, final TextUtils.TruncateAt where) {
TextViewUtils.setEllipsize(view, where);
return this;
}
/**
* 設置自動識別文本鏈接
* @param view {@link TextView}
* @param mask {@link android.text.util.Linkify}
* @return {@link ViewHelper}
*/
public ViewHelper setAutoLinkMask(final View view, final int mask) {
TextViewUtils.setAutoLinkMask(view, mask);
return this;
}
/**
* 設置文本全爲大寫
* @param view {@link TextView}
* @param allCaps 是否全部大寫
* @return {@link ViewHelper}
*/
public ViewHelper setAllCaps(final View view, final boolean allCaps) {
TextViewUtils.setAllCaps(view, allCaps);
return this;
}
/**
* 設置 Text Gravity
* @param view {@link TextView}
* @param gravity {@link android.view.Gravity}
* @return {@link ViewHelper}
*/
public ViewHelper setTextGravity(final View view, final int gravity) {
TextViewUtils.setGravity(view, gravity);
return this;
}
// ============
// = EditText =
// ============
/**
* 設置內容
* @param editText {@link EditText}
* @param content 文本內容
* @param isSelect 是否設置光標
* @return {@link ViewHelper}
*/
public ViewHelper setText(final EditText editText, final String content, final boolean isSelect) {
EditTextUtils.setText(editText, content, isSelect);
return this;
}
/**
* 追加內容 ( 當前光標位置追加 )
* @param editText {@link EditText}
* @param content 文本內容
* @param isSelect 是否設置光標
* @return {@link ViewHelper}
*/
public ViewHelper insert(final EditText editText, final String content, final boolean isSelect) {
EditTextUtils.insert(editText, content, isSelect);
return this;
}
/**
* 追加內容
* @param editText {@link EditText}
* @param content 文本內容
* @param start 開始添加的位置
* @param isSelect 是否設置光標
* @return {@link ViewHelper}
*/
public ViewHelper insert(final EditText editText, final String content, final int start, final boolean isSelect) {
EditTextUtils.insert(editText, content, start, isSelect);
return this;
}
/**
* 設置長度限制
* @param view {@link View}
* @param maxLength 長度限制
* @return {@link ViewHelper}
*/
public ViewHelper setMaxLength(final View view, final int maxLength) {
if (view instanceof EditText) {
EditTextUtils.setMaxLength(EditTextUtils.getEditText(view), maxLength);
} else {
TextViewUtils.setMaxLength(view, maxLength);
}
return this;
}
/**
* 設置長度限制, 並且設置內容
* @param view {@link View}
* @param content 文本內容
* @param maxLength 長度限制
* @return {@link ViewHelper}
*/
public ViewHelper setMaxLengthAndText(final View view, final String content, final int maxLength) {
if (view instanceof EditText) {
EditTextUtils.setMaxLengthAndText(EditTextUtils.getEditText(view), content, maxLength);
} else {
TextViewUtils.setMaxLengthAndText(view, content, maxLength);
}
return this;
}
/**
* 設置是否顯示光標
* @param editText {@link EditText}
* @param visible 是否顯示光標
* @return {@link ViewHelper}
*/
public ViewHelper setCursorVisible(final EditText editText, final boolean visible) {
EditTextUtils.setCursorVisible(editText, visible);
return this;
}
/**
* 設置光標在第一位
* @param editText {@link EditText}
* @return {@link ViewHelper}
*/
public ViewHelper setSelectionToTop(final EditText editText) {
EditTextUtils.setSelectionToTop(editText);
return this;
}
/**
* 設置光標在最後一位
* @param editText {@link EditText}
* @return {@link ViewHelper}
*/
public ViewHelper setSelectionToBottom(final EditText editText) {
EditTextUtils.setSelectionToBottom(editText);
return this;
}
/**
* 設置光標位置
* @param editText {@link EditText}
* @param index 光標位置
* @return {@link ViewHelper}
*/
public ViewHelper setSelection(final EditText editText, final int index) {
EditTextUtils.setSelection(editText, index);
return this;
}
// =
/**
* 設置文本視圖顯示轉換
* @param view {@link View}
* @param method {@link TransformationMethod}
* @return {@link ViewHelper}
*/
public ViewHelper setTransformationMethod(final View view, final TransformationMethod method) {
if (view instanceof EditText) {
EditTextUtils.setTransformationMethod(EditTextUtils.getEditText(view), method);
} else {
TextViewUtils.setTransformationMethod(view, method);
}
return this;
}
/**
* 設置密碼文本視圖顯示轉換
* @param view {@link View}
* @param isDisplayPassword 是否顯示密碼
* @return {@link ViewHelper}
*/
public ViewHelper setTransformationMethod(final View view, final boolean isDisplayPassword) {
if (view instanceof EditText) {
EditTextUtils.setTransformationMethod(EditTextUtils.getEditText(view), isDisplayPassword);
} else {
TextViewUtils.setTransformationMethod(view, isDisplayPassword);
}
return this;
}
/**
* 設置密碼文本視圖顯示轉換
* @param editText {@link EditText}
* @param isDisplayPassword 是否顯示密碼
* @param isSelectBottom 是否設置光標到最後
* @return {@link ViewHelper}
*/
public ViewHelper setTransformationMethod(final EditText editText, final boolean isDisplayPassword, final boolean isSelectBottom) {
EditTextUtils.setTransformationMethod(editText, isDisplayPassword, isSelectBottom);
return this;
}
// =
/**
* 添加輸入監聽事件
* @param editText {@link EditText}
* @param watcher 輸入監聽
* @return {@link ViewHelper}
*/
public ViewHelper addTextChangedListener(final EditText editText, final TextWatcher watcher) {
EditTextUtils.addTextChangedListener(editText, watcher);
return this;
}
/**
* 移除輸入監聽事件
* @param editText {@link EditText}
* @param watcher 輸入監聽
* @return {@link ViewHelper}
*/
public ViewHelper removeTextChangedListener(final EditText editText, final TextWatcher watcher) {
EditTextUtils.removeTextChangedListener(editText, watcher);
return this;
}
/**
* 設置 KeyListener
* @param editText {@link EditText}
* @param keyListener {@link KeyListener}
* @return {@link ViewHelper}
*/
public ViewHelper setKeyListener(final EditText editText, final KeyListener keyListener) {
EditTextUtils.setKeyListener(editText, keyListener);
return this;
}
/**
* 設置 KeyListener
* @param editText {@link EditText}
* @param accepted 允許輸入的內容, 如: 0123456789
* @return {@link ViewHelper}
*/
public ViewHelper setKeyListener(final EditText editText, final String accepted) {
EditTextUtils.setKeyListener(editText, accepted);
return this;
}
/**
* 設置 KeyListener
* @param editText {@link EditText}
* @param accepted 允許輸入的內容
* @return {@link ViewHelper}
*/
public ViewHelper setKeyListener(final EditText editText, final char[] accepted) {
EditTextUtils.setKeyListener(editText, accepted);
return this;
}
// =========
// = Image =
// =========
/**
* 設置 ImageView 是否保持寬高比
* @param imageView ImageView
* @param adjustViewBounds 是否調整此視圖的邊界以保持可繪製的原始縱橫比
* @return {@link ViewHelper}
*/
public ViewHelper setAdjustViewBounds(final ImageView imageView, final boolean adjustViewBounds) {
ImageViewUtils.setAdjustViewBounds(imageView, adjustViewBounds);
return this;
}
/**
* 設置 ImageView 最大高度
* @param imageView ImageView
* @param maxHeight 最大高度
* @return {@link ViewHelper}
*/
public ViewHelper setMaxHeight(final ImageView imageView, final int maxHeight) {
ImageViewUtils.setMaxHeight(imageView, maxHeight);
return this;
}
/**
* 設置 ImageView 最大寬度
* @param imageView ImageView
* @param maxWidth 最大寬度
* @return {@link ViewHelper}
*/
public ViewHelper setMaxWidth(final ImageView imageView, final int maxWidth) {
ImageViewUtils.setMaxWidth(imageView, maxWidth);
return this;
}
// =
/**
* 設置背景圖片
* @param view {@link View}
* @param background 背景圖片
* @return {@link ViewHelper}
*/
public ViewHelper setBackground(final View view, final Drawable background) {
ImageViewUtils.setBackground(view, background);
return this;
}
/**
* 設置背景顏色
* @param view {@link View}
* @param color 背景顏色
* @return {@link ViewHelper}
*/
public ViewHelper setBackgroundColor(final View view, @ColorInt final int color) {
ImageViewUtils.setBackgroundColor(view, color);
return this;
}
/**
* 設置背景資源
* @param view {@link View}
* @param resId resource identifier
* @return {@link ViewHelper}
*/
public ViewHelper setBackgroundResource(final View view, @DrawableRes final int resId) {
ImageViewUtils.setBackgroundResource(view, resId);
return this;
}
/**
* 設置背景着色顏色
* @param view {@link View}
* @param tint 着色顏色
* @return {@link ViewHelper}
*/
public ViewHelper setBackgroundTintList(final View view, final ColorStateList tint) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ImageViewUtils.setBackgroundTintList(view, tint);
}
return this;
}
/**
* 設置背景着色模式
* @param view {@link View}
* @param tintMode 着色模式 {@link PorterDuff.Mode}
* @return {@link ViewHelper}
*/
public ViewHelper setBackgroundTintMode(final View view, final PorterDuff.Mode tintMode) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ImageViewUtils.setBackgroundTintMode(view, tintMode);
}
return this;
}
/**
* 設置前景圖片
* @param view {@link View}
* @param foreground 前景圖片
* @return {@link ViewHelper}
*/
public ViewHelper setForeground(final View view, final Drawable foreground) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ImageViewUtils.setForeground(view, foreground);
}
return this;
}
/**
* 設置前景重心
* @param view {@link View}
* @param gravity 重心
* @return {@link ViewHelper}
*/
public ViewHelper setForegroundGravity(final View view, final int gravity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ImageViewUtils.setForegroundGravity(view, gravity);
}
return this;
}
/**
* 設置前景着色顏色
* @param view {@link View}
* @param tint 着色顏色
* @return {@link ViewHelper}
*/
public ViewHelper setForegroundTintList(final View view, final ColorStateList tint) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ImageViewUtils.setForegroundTintList(view, tint);
}
return this;
}
/**
* 設置前景着色模式
* @param view {@link View}
* @param tintMode 着色模式 {@link PorterDuff.Mode}
* @return {@link ViewHelper}
*/
public ViewHelper setForegroundTintMode(final View view, final PorterDuff.Mode tintMode) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ImageViewUtils.setForegroundTintMode(view, tintMode);
}
return this;
}
/**
* 設置 ImageView Bitmap
* @param view {@link View}
* @param bitmap {@link Bitmap}
* @return {@link ViewHelper}
*/
public ViewHelper setImageBitmap(final View view, final Bitmap bitmap) {
ImageViewUtils.setImageBitmap(view, bitmap);
return this;
}
/**
* 設置 ImageView Drawable
* @param view {@link View}
* @param drawable {@link Bitmap}
* @return {@link ViewHelper}
*/
public ViewHelper setImageDrawable(final View view, final Drawable drawable) {
ImageViewUtils.setImageDrawable(view, drawable);
return this;
}
/**
* 設置 ImageView 資源
* @param view {@link View}
* @param resId resource identifier
* @return {@link ViewHelper}
*/
public ViewHelper setImageResource(final View view, @DrawableRes final int resId) {
ImageViewUtils.setImageResource(view, resId);
return this;
}
/**
* 設置 ImageView Matrix
* @param view {@link View}
* @param matrix {@link Matrix}
* @return {@link ViewHelper}
*/
public ViewHelper setImageMatrix(final View view, final Matrix matrix) {
ImageViewUtils.setImageMatrix(view, matrix);
return this;
}
/**
* 設置 ImageView 着色顏色
* @param view {@link View}
* @param tint 着色顏色
* @return {@link ViewHelper}
*/
public ViewHelper setImageTintList(final View view, final ColorStateList tint) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ImageViewUtils.setImageTintList(view, tint);
}
return this;
}
/**
* 設置 ImageView 着色模式
* @param view {@link View}
* @param tintMode 着色模式 {@link PorterDuff.Mode}
* @return {@link ViewHelper}
*/
public ViewHelper setImageTintMode(final View view, final PorterDuff.Mode tintMode) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ImageViewUtils.setImageTintMode(view, tintMode);
}
return this;
}
/**
* 設置 ImageView 縮放類型
* @param view {@link View}
* @param scaleType 縮放類型 {@link ImageView.ScaleType}
* @return {@link ViewHelper}
*/
public ViewHelper setScaleType(final View view, final ImageView.ScaleType scaleType) {
ImageViewUtils.setScaleType(view, scaleType);
return this;
}
/**
* ImageView 着色處理
* @param imageView {@link ImageView}
* @param color 顏色值
* @return {@link ViewHelper}
*/
public ViewHelper setColorFilter(final ImageView imageView, @ColorInt final int color) {
ImageViewUtils.setColorFilter(imageView, color);
return this;
}
/**
* ImageView 着色處理, 並且設置 Drawable
* @param imageView {@link ImageView}
* @param drawable {@link Drawable}
* @param color 顏色值
* @return {@link ViewHelper}
*/
public ViewHelper setColorFilter(final ImageView imageView, final Drawable drawable, @ColorInt final int color) {
ImageViewUtils.setColorFilter(imageView, drawable, color);
return this;
}
/**
* ImageView 着色處理
* @param imageView {@link ImageView}
* @param colorFilter 顏色過濾 ( 效果 )
* @return {@link ViewHelper}
*/
public ViewHelper setColorFilter(final ImageView imageView, final ColorFilter colorFilter) {
ImageViewUtils.setColorFilter(imageView, colorFilter);
return this;
}
/**
* ImageView 着色處理, 並且設置 Drawable
* @param imageView {@link ImageView}
* @param drawable {@link Drawable}
* @param colorFilter 顏色過濾 ( 效果 )
* @return {@link ViewHelper}
*/
public ViewHelper setColorFilter(final ImageView imageView, final Drawable drawable, final ColorFilter colorFilter) {
ImageViewUtils.setColorFilter(imageView, drawable, colorFilter);
return this;
}
/**
* 設置 View 圖片資源
* @param resId resource identifier
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setBackgroundResources(@DrawableRes final int resId, final View... views) {
ImageViewUtils.setBackgroundResources(resId, views);
return this;
}
/**
* 設置 View 圖片資源
* @param resId resource identifier
* @param isVisibility {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setBackgroundResources(@DrawableRes final int resId, final int isVisibility, final View... views) {
ImageViewUtils.setBackgroundResources(resId, isVisibility, views);
return this;
}
/**
* 設置 View 圖片資源
* @param resId resource identifier
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setImageResources(@DrawableRes final int resId, final View... views) {
ImageViewUtils.setImageResources(resId, views);
return this;
}
/**
* 設置 View 圖片資源
* @param resId resource identifier
* @param isVisibility {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setImageResources(@DrawableRes final int resId, final int isVisibility, final View... views) {
ImageViewUtils.setImageResources(resId, isVisibility, views);
return this;
}
/**
* 設置 View Bitmap
* @param bitmap {@link Bitmap}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setImageBitmaps(final Bitmap bitmap, final View... views) {
ImageViewUtils.setImageBitmaps(bitmap, views);
return this;
}
/**
* 設置 View Bitmap
* @param bitmap {@link Bitmap}
* @param isVisibility {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setImageBitmaps(final Bitmap bitmap, final int isVisibility, final View... views) {
ImageViewUtils.setImageBitmaps(bitmap, isVisibility, views);
return this;
}
/**
* 設置 View Drawable
* @param drawable {@link drawable}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setImageDrawables(final Drawable drawable, final View... views) {
ImageViewUtils.setImageDrawables(drawable, views);
return this;
}
/**
* 設置 View Drawable
* @param drawable {@link drawable}
* @param isVisibility {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setImageDrawables(final Drawable drawable, final int isVisibility, final View... views) {
ImageViewUtils.setImageDrawables(drawable, isVisibility, views);
return this;
}
/**
* 設置 View 縮放模式
* @param scaleType {@link ImageView.ScaleType}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setScaleTypes(final ImageView.ScaleType scaleType, final View... views) {
ImageViewUtils.setScaleTypes(scaleType, views);
return this;
}
/**
* 設置 View 縮放模式
* @param scaleType {@link ImageView.ScaleType}
* @param isVisibility {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setScaleTypes(final ImageView.ScaleType scaleType, final int isVisibility, final View... views) {
ImageViewUtils.setScaleTypes(scaleType, isVisibility, views);
return this;
}
// ========
// = View =
// ========
/**
* 設置 View 寬度、高度
* @param view {@link View}
* @param width View 寬度
* @param height View 高度
* @return {@link ViewHelper}
*/
public ViewHelper setWidthHeight(final View view, final int width, final int height) {
ViewUtils.setWidthHeight(view, width, height);
return this;
}
/**
* 設置 View 寬度、高度
* @param view {@link View}
* @param width View 寬度
* @param height View 高度
* @param nullNewLP 如果 LayoutParams 爲 null 是否創建新的
* @return {@link ViewHelper}
*/
public ViewHelper setWidthHeight(final View view, final int width, final int height, final boolean nullNewLP) {
ViewUtils.setWidthHeight(view, width, height, nullNewLP);
return this;
}
/**
* 設置 View 寬度
* @param view {@link View}
* @param width View 寬度
* @return {@link ViewHelper}
*/
public ViewHelper setWidth(final View view, final int width) {
ViewUtils.setWidth(view, width);
return this;
}
/**
* 設置 View 寬度
* @param view {@link View}
* @param width View 寬度
* @param nullNewLP 如果 LayoutParams 爲 null 是否創建新的
* @return {@link ViewHelper}
*/
public ViewHelper setWidth(final View view, final int width, final boolean nullNewLP) {
ViewUtils.setWidth(view, width, nullNewLP);
return this;
}
/**
* 設置 View 高度
* @param view {@link View}
* @param height View 高度
* @return {@link ViewHelper}
*/
public ViewHelper setHeight(final View view, final int height) {
ViewUtils.setHeight(view, height);
return this;
}
/**
* 設置 View 高度
* @param view {@link View}
* @param height View 高度
* @param nullNewLP 如果 LayoutParams 爲 null 是否創建新的
* @return {@link ViewHelper}
*/
public ViewHelper setHeight(final View view, final int height, final boolean nullNewLP) {
ViewUtils.setHeight(view, height, nullNewLP);
return this;
}
/**
* 設置 View 最小高度
* @param view {@link View}
* @param minHeight 最小高度
* @return {@link ViewHelper}
*/
public ViewHelper setMinimumHeight(final View view, final int minHeight) {
ViewUtils.setMinimumHeight(view, minHeight);
return this;
}
/**
* 設置 View 最小寬度
* @param view {@link View}
* @param minWidth 最小寬度
* @return {@link ViewHelper}
*/
public ViewHelper setMinimumWidth(final View view, final int minWidth) {
ViewUtils.setMinimumWidth(view, minWidth);
return this;
}
/**
* 設置 View 透明度
* @param view View
* @param alpha 透明度
* @return {@link ViewHelper}
*/
public ViewHelper setAlpha(final View view, @FloatRange(from = 0.0, to = 1.0) final float alpha) {
ViewUtils.setAlpha(view, alpha);
return this;
}
/**
* 設置 View Tag
* @param view View
* @param object Tag
* @return {@link ViewHelper}
*/
public ViewHelper setTag(final View view, final Object object) {
ViewUtils.setTag(view, object);
return this;
}
// =
/**
* View 內容滾動位置 - 相對於初始位置移動
* <pre>
* 無滾動過程
* </pre>
* @param view {@link View}
* @param x X 軸開始座標
* @param y Y 軸開始座標
* @return {@link ViewHelper}
*/
public ViewHelper scrollTo(final View view, final int x, final int y) {
ViewUtils.scrollTo(view, x, y);
return this;
}
/**
* View 內部滾動位置 - 相對於上次移動的最後位置移動
* <pre>
* 無滾動過程
* </pre>
* @param view {@link View}
* @param x X 軸開始座標
* @param y Y 軸開始座標
* @return {@link ViewHelper}
*/
public ViewHelper scrollBy(final View view, final int x, final int y) {
ViewUtils.scrollBy(view, x, y);
return this;
}
// =
/**
* 設置 ViewGroup 和其子控件兩者之間的關係
* <pre>
* beforeDescendants : ViewGroup 會優先其子類控件而獲取到焦點
* afterDescendants : ViewGroup 只有當其子類控件不需要獲取焦點時才獲取焦點
* blocksDescendants : ViewGroup 會覆蓋子類控件而直接獲得焦點
* android:descendantFocusability="blocksDescendants"
* </pre>
* @param view {@link ViewGroup}
* @param focusability {@link ViewGroup#FOCUS_BEFORE_DESCENDANTS}、{@link ViewGroup#FOCUS_AFTER_DESCENDANTS}、{@link ViewGroup#FOCUS_BLOCK_DESCENDANTS}
* @return {@link ViewHelper}
*/
public ViewHelper setDescendantFocusability(final ViewGroup view, final int focusability) {
ViewUtils.setDescendantFocusability(view, focusability);
return this;
}
/**
* 設置 View 滾動模式
* <pre>
* 設置滑動到邊緣時無效果模式 {@link View#OVER_SCROLL_NEVER}
* android:overScrollMode="never"
* </pre>
* @param view {@link View}
* @param overScrollMode {@link View#OVER_SCROLL_ALWAYS}、{@link View#OVER_SCROLL_IF_CONTENT_SCROLLS}、{@link View#OVER_SCROLL_NEVER}
* @return {@link ViewHelper}
*/
public ViewHelper setOverScrollMode(final View view, final int overScrollMode) {
ViewUtils.setOverScrollMode(view, overScrollMode);
return this;
}
// =
/**
* 設置是否繪製橫向滾動條
* @param view {@link View}
* @param horizontalScrollBarEnabled {@code true} yes, {@code false} no
* @return {@link ViewHelper}
*/
public ViewHelper setHorizontalScrollBarEnabled(final View view, final boolean horizontalScrollBarEnabled) {
ViewUtils.setHorizontalScrollBarEnabled(view, horizontalScrollBarEnabled);
return this;
}
/**
* 設置是否繪製垂直滾動條
* @param view {@link View}
* @param verticalScrollBarEnabled {@code true} yes, {@code false} no
* @return {@link ViewHelper}
*/
public ViewHelper setVerticalScrollBarEnabled(final View view, final boolean verticalScrollBarEnabled) {
ViewUtils.setVerticalScrollBarEnabled(view, verticalScrollBarEnabled);
return this;
}
// =
/**
* 設置 View 滾動效應
* @param view {@link View}
* @param isScrollContainer 是否需要滾動效應
* @return {@link ViewHelper}
*/
public ViewHelper setScrollContainer(final View view, final boolean isScrollContainer) {
ViewUtils.setScrollContainer(view, isScrollContainer);
return this;
}
/**
* 設置下一個獲取焦點的 View id
* @param view {@link View}
* @param nextFocusForwardId 下一個獲取焦點的 View id
* @return {@link ViewHelper}
*/
public ViewHelper setNextFocusForwardId(final View view, @IdRes final int nextFocusForwardId) {
ViewUtils.setNextFocusForwardId(view, nextFocusForwardId);
return this;
}
/**
* 設置向下移動焦點時, 下一個獲取焦點的 View id
* @param view {@link View}
* @param nextFocusDownId 下一個獲取焦點的 View id
* @return {@link ViewHelper}
*/
public ViewHelper setNextFocusDownId(final View view, @IdRes final int nextFocusDownId) {
ViewUtils.setNextFocusDownId(view, nextFocusDownId);
return this;
}
/**
* 設置向左移動焦點時, 下一個獲取焦點的 View id
* @param view {@link View}
* @param nextFocusLeftId 下一個獲取焦點的 View id
* @return {@link ViewHelper}
*/
public ViewHelper setNextFocusLeftId(final View view, @IdRes final int nextFocusLeftId) {
ViewUtils.setNextFocusLeftId(view, nextFocusLeftId);
return this;
}
/**
* 設置向右移動焦點時, 下一個獲取焦點的 View id
* @param view {@link View}
* @param nextFocusRightId 下一個獲取焦點的 View id
* @return {@link ViewHelper}
*/
public ViewHelper setNextFocusRightId(final View view, @IdRes final int nextFocusRightId) {
ViewUtils.setNextFocusRightId(view, nextFocusRightId);
return this;
}
/**
* 設置向上移動焦點時, 下一個獲取焦點的 View id
* @param view {@link View}
* @param nextFocusUpId 下一個獲取焦點的 View id
* @return {@link ViewHelper}
*/
public ViewHelper setNextFocusUpId(final View view, @IdRes final int nextFocusUpId) {
ViewUtils.setNextFocusUpId(view, nextFocusUpId);
return this;
}
/**
* 設置 View 旋轉度數
* @param view {@link View}
* @param rotation 旋轉度數
* @return {@link ViewHelper}
*/
public ViewHelper setRotation(final View view, final float rotation) {
ViewUtils.setRotation(view, rotation);
return this;
}
/**
* 設置 View 水平旋轉度數
* @param view {@link View}
* @param rotationX 水平旋轉度數
* @return {@link ViewHelper}
*/
public ViewHelper setRotationX(final View view, final float rotationX) {
ViewUtils.setRotationX(view, rotationX);
return this;
}
/**
* 設置 View 豎直旋轉度數
* @param view {@link View}
* @param rotationY 豎直旋轉度數
* @return {@link ViewHelper}
*/
public ViewHelper setRotationY(final View view, final float rotationY) {
ViewUtils.setRotationY(view, rotationY);
return this;
}
/**
* 設置 View 水平方向縮放比例
* @param view View
* @param scaleX 水平方向縮放比例
* @return {@link ViewHelper}
*/
public ViewHelper setScaleX(final View view, final float scaleX) {
ViewUtils.setScaleX(view, scaleX);
return this;
}
/**
* 設置 View 豎直方向縮放比例
* @param view View
* @param scaleY 豎直方向縮放比例
* @return {@link ViewHelper}
*/
public ViewHelper setScaleY(final View view, final float scaleY) {
ViewUtils.setScaleY(view, scaleY);
return this;
}
/**
* 設置文本的顯示方式
* @param view {@link View}
* @param textAlignment 文本的顯示方式
* @return {@link ViewHelper}
*/
public ViewHelper setTextAlignment(final View view, final int textAlignment) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
ViewUtils.setTextAlignment(view, textAlignment);
}
return this;
}
/**
* 設置文本的顯示方向
* @param view {@link View}
* @param textDirection 文本的顯示方向
* @return {@link ViewHelper}
*/
public ViewHelper setTextDirection(final View view, final int textDirection) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
ViewUtils.setTextDirection(view, textDirection);
}
return this;
}
/**
* 設置水平方向偏轉量
* @param view View
* @param pivotX 水平方向偏轉量
* @return {@link ViewHelper}
*/
public ViewHelper setPivotX(final View view, final float pivotX) {
ViewUtils.setPivotX(view, pivotX);
return this;
}
/**
* 設置豎直方向偏轉量
* @param view View
* @param pivotY 豎直方向偏轉量
* @return {@link ViewHelper}
*/
public ViewHelper setPivotY(final View view, final float pivotY) {
ViewUtils.setPivotY(view, pivotY);
return this;
}
/**
* 設置水平方向的移動距離
* @param view {@link View}
* @param translationX 水平方向的移動距離
* @return {@link ViewHelper}
*/
public ViewHelper setTranslationX(final View view, final float translationX) {
ViewUtils.setTranslationX(view, translationX);
return this;
}
/**
* 設置豎直方向的移動距離
* @param view {@link View}
* @param translationY 豎直方向的移動距離
* @return {@link ViewHelper}
*/
public ViewHelper setTranslationY(final View view, final float translationY) {
ViewUtils.setTranslationY(view, translationY);
return this;
}
/**
* 設置 View 硬件加速類型
* @param view {@link View}
* @param layerType 硬件加速類型
* @param paint {@link Paint}
* @return {@link ViewHelper}
*/
public ViewHelper setLayerType(final View view, final int layerType, final Paint paint) {
ViewUtils.setLayerType(view, layerType, paint);
return this;
}
// =
/**
* 請求重新對 View 佈局
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper requestLayout(final View view) {
ViewUtils.requestLayout(view);
return this;
}
/**
* View 請求獲取焦點
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper requestFocus(final View view) {
ViewUtils.requestFocus(view);
return this;
}
/**
* View 清除焦點
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper clearFocus(final View view) {
ViewUtils.clearFocus(view);
return this;
}
/**
* View 請求更新
* @param view {@link View}
* @param allParent 是否全部父佈局 View 都請求
* @return {@link ViewHelper}
*/
public ViewHelper requestLayoutParent(final View view, final boolean allParent) {
ViewUtils.requestLayoutParent(view, allParent);
return this;
}
// =
/**
* 設置 View LayoutParams
* @param view {@link View}
* @param params LayoutParams
* @return {@link ViewHelper}
*/
public ViewHelper setLayoutParams(final View view, final ViewGroup.LayoutParams params) {
ViewUtils.setLayoutParams(view, params);
return this;
}
/**
* 設置 View 是否在觸摸模式下獲得焦點
* @param focusableInTouchMode {@code true} 可獲取, {@code false} 不可獲取
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setFocusableInTouchMode(final boolean focusableInTouchMode, final View... views) {
ViewUtils.setFocusableInTouchMode(focusableInTouchMode, views);
return this;
}
/**
* 設置 View 是否可以獲取焦點
* @param focusable {@code true} 可獲取, {@code false} 不可獲取
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setFocusable(final boolean focusable, final View... views) {
ViewUtils.setFocusable(focusable, views);
return this;
}
/**
* 設置 View 是否選中
* @param selected {@code true} 選中, {@code false} 非選中
* @param views View[]
* @return {@code true} 選中, {@code false} 非選中
*/
public ViewHelper setSelected(final boolean selected, final View... views) {
ViewUtils.setSelected(selected, views);
return this;
}
/**
* 設置 View 是否啓用
* @param enabled {@code true} 啓用, {@code false} 禁用
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setEnabled(final boolean enabled, final View... views) {
ViewUtils.setEnabled(enabled, views);
return this;
}
/**
* 設置 View 是否可以點擊
* @param clickable {@code true} 可點擊, {@code false} 不可點擊
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setClickable(final boolean clickable, final View... views) {
ViewUtils.setClickable(clickable, views);
return this;
}
/**
* 設置 View 是否可以長按
* @param longClickable {@code true} 可長按, {@code false} 不可長按
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setLongClickable(final boolean longClickable, final View... views) {
ViewUtils.setLongClickable(longClickable, views);
return this;
}
/**
* 設置 View 顯示的狀態
* @param isVisibility {@code true} View.VISIBLE, {@code false} View.GONE
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper setVisibility(final boolean isVisibility, final View view) {
ViewUtils.setVisibility(isVisibility, view);
return this;
}
/**
* 設置 View 顯示的狀態
* @param isVisibility {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper setVisibility(final int isVisibility, final View view) {
ViewUtils.setVisibility(isVisibility, view);
return this;
}
/**
* 設置 View 顯示的狀態
* @param isVisibility {@code true} View.VISIBLE, {@code false} View.GONE
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setVisibilitys(final boolean isVisibility, final View... views) {
ViewUtils.setVisibilitys(isVisibility, views);
return this;
}
/**
* 設置 View 顯示的狀態
* @param isVisibility {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper setVisibilitys(final int isVisibility, final View... views) {
ViewUtils.setVisibilitys(isVisibility, views);
return this;
}
/**
* 切換 View 顯示的狀態
* @param view {@link View}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper toggleVisibilitys(final View view, final View... views) {
ViewUtils.toggleVisibilitys(view, views);
return this;
}
/**
* 切換 View 顯示的狀態
* @param viewArys View[]
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper toggleVisibilitys(final View[] viewArys, final View... views) {
ViewUtils.toggleVisibilitys(viewArys, views);
return this;
}
/**
* 切換 View 顯示的狀態
* @param status {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param viewArys View[]
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper toggleVisibilitys(final int status, final View[] viewArys, final View... views) {
ViewUtils.toggleVisibilitys(status, viewArys, views);
return this;
}
/**
* 反轉 View 顯示的狀態
* @param status {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param viewArys View[]
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper reverseVisibilitys(final int status, final View[] viewArys, final View... views) {
ViewUtils.reverseVisibilitys(status, viewArys, views);
return this;
}
/**
* 反轉 View 顯示的狀態
* @param isVisibility {@code true} View.VISIBLE, {@code false} View.GONE
* @param viewArys View[]
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper reverseVisibilitys(final boolean isVisibility, final View[] viewArys, final View... views) {
ViewUtils.reverseVisibilitys(isVisibility, viewArys, views);
return this;
}
/**
* 反轉 View 顯示的狀態
* @param status {@link View#VISIBLE}、{@link View#INVISIBLE}、{@link View#GONE}
* @param view {@link View}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper reverseVisibilitys(final int status, final View view, final View... views) {
ViewUtils.reverseVisibilitys(status, view, views);
return this;
}
/**
* 反轉 View 顯示的狀態
* @param isVisibility {@code true} View.VISIBLE, {@code false} View.GONE
* @param view {@link View}
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper reverseVisibilitys(final boolean isVisibility, final View view, final View... views) {
ViewUtils.reverseVisibilitys(isVisibility, view, views);
return this;
}
/**
* 把自身從父 View 中移除
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper removeSelfFromParent(final View view) {
ViewUtils.removeSelfFromParent(view);
return this;
}
/**
* 設置 View Layout Gravity
* @param view {@link View}
* @param gravity Gravity
* @return {@link ViewHelper}
*/
public ViewHelper setLayoutGravity(final View view, final int gravity) {
ViewUtils.setLayoutGravity(view, gravity);
return this;
}
/**
* 設置 View Left Margin
* @param view {@link View}
* @param leftMargin Left Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginLeft(final View view, final int leftMargin) {
ViewUtils.setMarginLeft(view, leftMargin);
return this;
}
/**
* 設置 View Left Margin
* @param view {@link View}
* @param leftMargin Left Margin
* @param reset 是否重置清空其他 margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginLeft(final View view, final int leftMargin, final boolean reset) {
ViewUtils.setMarginLeft(view, leftMargin, reset);
return this;
}
/**
* 設置 View Top Margin
* @param view {@link View}
* @param topMargin Top Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginTop(final View view, final int topMargin) {
ViewUtils.setMarginTop(view, topMargin);
return this;
}
/**
* 設置 View Top Margin
* @param view {@link View}
* @param topMargin Top Margin
* @param reset 是否重置清空其他 margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginTop(final View view, final int topMargin, final boolean reset) {
ViewUtils.setMarginTop(view, topMargin, reset);
return this;
}
/**
* 設置 View Right Margin
* @param view {@link View}
* @param rightMargin Right Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginRight(final View view, final int rightMargin) {
ViewUtils.setMarginRight(view, rightMargin);
return this;
}
/**
* 設置 View Right Margin
* @param view {@link View}
* @param rightMargin Right Margin
* @param reset 是否重置清空其他 margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginRight(final View view, final int rightMargin, final boolean reset) {
ViewUtils.setMarginRight(view, rightMargin, reset);
return this;
}
/**
* 設置 View Bottom Margin
* @param view {@link View}
* @param bottomMargin Bottom Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginBottom(final View view, final int bottomMargin) {
ViewUtils.setMarginBottom(view, bottomMargin);
return this;
}
/**
* 設置 View Bottom Margin
* @param view {@link View}
* @param bottomMargin Bottom Margin
* @param reset 是否重置清空其他 margin
* @return {@link ViewHelper}
*/
public ViewHelper setMarginBottom(final View view, final int bottomMargin, final boolean reset) {
ViewUtils.setMarginBottom(view, bottomMargin, reset);
return this;
}
/**
* 設置 Margin 邊距
* @param view {@link View}
* @param leftRight Left and Right Margin
* @param topBottom Top and bottom Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMargin(final View view, final int leftRight, final int topBottom) {
ViewUtils.setMargin(view, leftRight, topBottom);
return this;
}
/**
* 設置 Margin 邊距
* @param view {@link View}
* @param margin Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMargin(final View view, final int margin) {
ViewUtils.setMargin(view, margin);
return this;
}
/**
* 設置 Margin 邊距
* @param view {@link View}
* @param left Left Margin
* @param top Top Margin
* @param right Right Margin
* @param bottom Bottom Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMargin(final View view, final int left, final int top, final int right, final int bottom) {
ViewUtils.setMargin(view, left, top, right, bottom);
return this;
}
/**
* 設置 Margin 邊距
* @param views View[]
* @param leftRight Left and Right Margin
* @param topBottom Top and bottom Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMargin(final View[] views, final int leftRight, final int topBottom) {
ViewUtils.setMargin(views, leftRight, topBottom);
return this;
}
/**
* 設置 Margin 邊距
* @param views View[]
* @param margin Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMargin(final View[] views, final int margin) {
ViewUtils.setMargin(views, margin);
return this;
}
/**
* 設置 Margin 邊距
* @param views View[]
* @param left Left Margin
* @param top Top Margin
* @param right Right Margin
* @param bottom Bottom Margin
* @return {@link ViewHelper}
*/
public ViewHelper setMargin(final View[] views, final int left, final int top, final int right, final int bottom) {
ViewUtils.setMargin(views, left, top, right, bottom);
return this;
}
/**
* 設置 View Left Padding
* @param view {@link View}
* @param leftPadding Left Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingLeft(final View view, final int leftPadding) {
ViewUtils.setPaddingLeft(view, leftPadding);
return this;
}
/**
* 設置 View Left Padding
* @param view {@link View}
* @param leftPadding Left Padding
* @param reset 是否重置清空其他 Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingLeft(final View view, final int leftPadding, final boolean reset) {
ViewUtils.setPaddingLeft(view, leftPadding, reset);
return this;
}
/**
* 設置 View Top Padding
* @param view {@link View}
* @param topPadding Top Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingTop(final View view, final int topPadding) {
ViewUtils.setPaddingTop(view, topPadding);
return this;
}
/**
* 設置 View Top Padding
* @param view {@link View}
* @param topPadding Top Padding
* @param reset 是否重置清空其他 Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingTop(final View view, final int topPadding, final boolean reset) {
ViewUtils.setPaddingTop(view, topPadding, reset);
return this;
}
/**
* 設置 View Right Padding
* @param view {@link View}
* @param rightPadding Right Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingRight(final View view, final int rightPadding) {
ViewUtils.setPaddingRight(view, rightPadding);
return this;
}
/**
* 設置 View Right Padding
* @param view {@link View}
* @param rightPadding Right Padding
* @param reset 是否重置清空其他 Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingRight(final View view, final int rightPadding, final boolean reset) {
ViewUtils.setPaddingRight(view, rightPadding, reset);
return this;
}
/**
* 設置 View Bottom Padding
* @param view {@link View}
* @param bottomPadding Bottom Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingBottom(final View view, final int bottomPadding) {
ViewUtils.setPaddingBottom(view, bottomPadding);
return this;
}
/**
* 設置 View Bottom Padding
* @param view {@link View}
* @param bottomPadding Bottom Padding
* @param reset 是否重置清空其他 Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPaddingBottom(final View view, final int bottomPadding, final boolean reset) {
ViewUtils.setPaddingBottom(view, bottomPadding, reset);
return this;
}
/**
* 設置 Padding 邊距
* @param view {@link View}
* @param leftRight Left and Right Padding
* @param topBottom Top and bottom Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPadding(final View view, final int leftRight, final int topBottom) {
ViewUtils.setPadding(view, leftRight, topBottom);
return this;
}
/**
* 設置 Padding 邊距
* @param view {@link View}
* @param padding Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPadding(final View view, final int padding) {
ViewUtils.setPadding(view, padding);
return this;
}
/**
* 設置 Padding 邊距
* @param view {@link View}
* @param left Left Padding
* @param top Top Padding
* @param right Right Padding
* @param bottom Bottom Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPadding(final View view, final int left, final int top, final int right, final int bottom) {
ViewUtils.setPadding(view, left, top, right, bottom);
return this;
}
/**
* 設置 Padding 邊距
* @param views View[]
* @param leftRight Left and Right Padding
* @param topBottom Top and bottom Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPadding(final View[] views, final int leftRight, final int topBottom) {
ViewUtils.setPadding(views, leftRight, topBottom);
return this;
}
/**
* 設置 Padding 邊距
* @param views View[]
* @param padding Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPadding(final View[] views, final int padding) {
ViewUtils.setPadding(views, padding);
return this;
}
/**
* 設置 Padding 邊距
* @param views View[]
* @param left Left Padding
* @param top Top Padding
* @param right Right Padding
* @param bottom Bottom Padding
* @return {@link ViewHelper}
*/
public ViewHelper setPadding(final View[] views, final int left, final int top, final int right, final int bottom) {
ViewUtils.setPadding(views, left, top, right, bottom);
return this;
}
/**
* 設置 Left CompoundDrawables
* @param textView {@link TextView}
* @param left left Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesByLeft(final TextView textView, final Drawable left) {
ViewUtils.setCompoundDrawablesByLeft(textView, left);
return this;
}
/**
* 設置 Top CompoundDrawables
* @param textView {@link TextView}
* @param top top Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesByTop(final TextView textView, final Drawable top) {
ViewUtils.setCompoundDrawablesByTop(textView, top);
return this;
}
/**
* 設置 Right CompoundDrawables
* @param textView {@link TextView}
* @param right right Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesByRight(final TextView textView, final Drawable right) {
ViewUtils.setCompoundDrawablesByRight(textView, right);
return this;
}
/**
* 設置 Bottom CompoundDrawables
* @param textView {@link TextView}
* @param bottom bottom Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesByBottom(final TextView textView, final Drawable bottom) {
ViewUtils.setCompoundDrawablesByBottom(textView, bottom);
return this;
}
/**
* 設置 CompoundDrawables
* <pre>
* CompoundDrawable 的大小控制是通過 drawable.setBounds() 控制
* 需要先設置 Drawable 的 setBounds
* </pre>
* @param textView {@link TextView}
* @param left left Drawable
* @param top top Drawable
* @param right right Drawable
* @param bottom bottom Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawables(final TextView textView,
final Drawable left, final Drawable top,
final Drawable right, final Drawable bottom) {
ViewUtils.setCompoundDrawables(textView, left, top, right, bottom);
return this;
}
/**
* 設置 Left CompoundDrawables - 按照原有比例大小顯示圖片
* @param textView {@link TextView}
* @param left left Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesWithIntrinsicBoundsByLeft(final TextView textView, final Drawable left) {
ViewUtils.setCompoundDrawablesWithIntrinsicBoundsByLeft(textView, left);
return this;
}
/**
* 設置 Top CompoundDrawables - 按照原有比例大小顯示圖片
* @param textView {@link TextView}
* @param top top Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesWithIntrinsicBoundsByTop(final TextView textView, final Drawable top) {
ViewUtils.setCompoundDrawablesWithIntrinsicBoundsByTop(textView, top);
return this;
}
/**
* 設置 Right CompoundDrawables - 按照原有比例大小顯示圖片
* @param textView {@link TextView}
* @param right right Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesWithIntrinsicBoundsByRight(final TextView textView, final Drawable right) {
ViewUtils.setCompoundDrawablesWithIntrinsicBoundsByRight(textView, right);
return this;
}
/**
* 設置 Bottom CompoundDrawables - 按照原有比例大小顯示圖片
* @param textView {@link TextView}
* @param bottom bottom Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesWithIntrinsicBoundsByBottom(final TextView textView, final Drawable bottom) {
ViewUtils.setCompoundDrawablesWithIntrinsicBoundsByBottom(textView, bottom);
return this;
}
/**
* 設置 CompoundDrawables - 按照原有比例大小顯示圖片
* @param textView {@link TextView}
* @param left left Drawable
* @param top top Drawable
* @param right right Drawable
* @param bottom bottom Drawable
* @return {@link ViewHelper}
*/
public ViewHelper setCompoundDrawablesWithIntrinsicBounds(final TextView textView,
final Drawable left, final Drawable top,
final Drawable right, final Drawable bottom) {
ViewUtils.setCompoundDrawablesWithIntrinsicBounds(textView, left, top, right, bottom);
return this;
}
// ==================
// = RelativeLayout =
// ==================
/**
* 設置 RelativeLayout View 佈局規則
* @param view {@link View}
* @param verb 佈局位置
* @return {@link ViewHelper}
*/
public ViewHelper addRule(final View view, final int verb) {
ViewUtils.addRule(view, verb);
return this;
}
/**
* 設置 RelativeLayout View 佈局規則
* @param view {@link View}
* @param verb 佈局位置
* @param subject 關聯 View id
* @return {@link ViewHelper}
*/
public ViewHelper addRule(final View view, final int verb, final int subject) {
ViewUtils.addRule(view, verb, subject);
return this;
}
/**
* 移除 RelativeLayout View 佈局規則
* @param view {@link View}
* @param verb 佈局位置
* @return {@link ViewHelper}
*/
public ViewHelper removeRule(final View view, final int verb) {
ViewUtils.removeRule(view, verb);
return this;
}
// =
/**
* 設置多個 RelativeLayout View 佈局規則
* @param verb 佈局位置
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper addRules(final int verb, final View... views) {
ViewUtils.addRules(verb, views);
return this;
}
/**
* 設置多個 RelativeLayout View 佈局規則
* @param verb 佈局位置
* @param subject 關聯 View id
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper addRules(final int verb, final int subject, final View... views) {
ViewUtils.addRules(verb, subject, views);
return this;
}
/**
* 移除多個 RelativeLayout View 佈局規則
* @param verb 佈局位置
* @param views View[]
* @return {@link ViewHelper}
*/
public ViewHelper removeRules(final int verb, final View... views) {
ViewUtils.removeRules(verb, views);
return this;
}
// =============
// = Animation =
// =============
/**
* 設置動畫
* @param view {@link View}
* @param animation {@link Animation}
* @return {@link ViewHelper}
*/
public ViewHelper setAnimation(final View view, final Animation animation) {
ViewUtils.setAnimation(view, animation);
return this;
}
/**
* 清空動畫
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper clearAnimation(final View view) {
ViewUtils.clearAnimation(view);
return this;
}
/**
* 啓動動畫
* @param view {@link View}
* @param animation {@link Animation}
* @return {@link ViewHelper}
*/
public ViewHelper startAnimation(final View view, final Animation animation) {
ViewUtils.startAnimation(view, animation);
return this;
}
// ============
// = Listener =
// ============
/**
* 設置點擊事件
* @param onClickListener {@link View.OnClickListener}
* @param views View 數組
* @return {@link ViewHelper}
*/
public ViewHelper setOnClicks(final View.OnClickListener onClickListener, final View... views) {
ListenerUtils.setOnClicks(onClickListener, views);
return this;
}
/**
* 設置長按事件
* @param onLongClickListener {@link View.OnLongClickListener}
* @param views View 數組
* @return {@link ViewHelper}
*/
public ViewHelper setOnLongClicks(final View.OnLongClickListener onLongClickListener, final View... views) {
ListenerUtils.setOnLongClicks(onLongClickListener, views);
return this;
}
/**
* 增加控件的觸摸範圍, 最大範圍只能是父佈局所包含的的區域
* @param view 待添加點擊範圍 View
* @param range 點擊範圍
* @return {@link ViewHelper}
*/
public ViewHelper addTouchArea(final View view, final int range) {
ClickUtils.addTouchArea(view, range);
return this;
}
/**
* 增加控件的觸摸範圍, 最大範圍只能是父佈局所包含的的區域
* @param view 待添加點擊範圍 View
* @param top top range
* @param bottom bottom range
* @param left left range
* @param right right range
* @return {@link ViewHelper}
*/
public ViewHelper addTouchArea(final View view, final int top, final int bottom, final int left, final int right) {
ClickUtils.addTouchArea(view, top, bottom, left, right);
return this;
}
// =================
// = ListViewUtils =
// =================
/**
* 滑動到指定索引 ( 有滾動過程 )
* @param view {@link View}
* @param position 索引
* @return {@link ViewHelper}
*/
public ViewHelper smoothScrollToPosition(final View view, final int position) {
ListViewUtils.smoothScrollToPosition(view, position);
return this;
}
/**
* 滑動到指定索引 ( 無滾動過程 )
* @param view {@link View}
* @param position 索引
* @return {@link ViewHelper}
*/
public ViewHelper scrollToPosition(final View view, final int position) {
ListViewUtils.scrollToPosition(view, position);
return this;
}
// ==============
// = 滑動到頂部 =
// ==============
/**
* 滑動到頂部 ( 有滾動過程 )
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper smoothScrollToTop(final View view) {
ListViewUtils.smoothScrollToTop(view);
return this;
}
/**
* 滑動到頂部 ( 無滾動過程 )
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper scrollToTop(final View view) {
ListViewUtils.scrollToTop(view);
return this;
}
// ==============
// = 滑動到底部 =
// ==============
/**
* 滑動到底部 ( 有滾動過程 )
* <pre>
* 如果未到達底部 ( position 可以再加上 smoothScrollBy 搭配到底部 )
* smoothScrollToBottom(view)
* smoothScrollBy(view, 0, Integer.MAX_VALUE);
* </pre>
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper smoothScrollToBottom(final View view) {
ListViewUtils.smoothScrollToBottom(view);
return this;
}
/**
* 滑動到底部 ( 無滾動過程 )
* <pre>
* 如果未到達底部 ( position 可以再加上 scrollBy 搭配到底部 )
* scrollToBottom(view)
* scrollBy(view, 0, Integer.MAX_VALUE);
* </pre>
* @param view {@link View}
* @return {@link ViewHelper}
*/
public ViewHelper scrollToBottom(final View view) {
ListViewUtils.scrollToBottom(view);
return this;
}
// ==============
// = ScrollView =
// ==============
/**
* 滾動到指定位置 ( 有滾動過程 ) - 相對於初始位置移動
* @param view {@link View}
* @param x X 軸開始座標
* @param y Y 軸開始座標
* @return {@link ViewHelper}
*/
public ViewHelper smoothScrollTo(final View view, final int x, final int y) {
ListViewUtils.smoothScrollTo(view, x, y);
return this;
}
/**
* 滾動到指定位置 ( 有滾動過程 ) - 相對於上次移動的最後位置移動
* @param view {@link View}
* @param x X 軸開始座標
* @param y Y 軸開始座標
* @return {@link ViewHelper}
*/
public ViewHelper smoothScrollBy(final View view, final int x, final int y) {
ListViewUtils.smoothScrollBy(view, x, y);
return this;
}
/**
* 滾動方向 ( 有滾動過程 )
* @param view {@link View}
* @param direction 滾動方向 如: View.FOCUS_UP、View.FOCUS_DOWN
* @return {@link ViewHelper}
*/
public ViewHelper fullScroll(final View view, final int direction) {
ListViewUtils.fullScroll(view, direction);
return this;
}
}