Browse Source

完善BaseViewHolder

zhpanvip 4 years ago
parent
commit
0fb605a8b1
3 changed files with 33 additions and 5 deletions
  1. 1 1
      README.md
  2. 2 2
      README_CN.md
  3. 30 2
      bannerview/src/main/java/com/zhpan/bannerview/BaseViewHolder.java

+ 1 - 1
README.md

@@ -77,7 +77,7 @@ It's also support to custom indicator style,just need extends BaseIndicatorView
  
 ![QQ交流群60902509](https://gitee.com/zhpanvip/images/raw/master/project/group/qq_group.png)
 
-## <span id="Sponsor"> Donation </span>
+## <span id="Sponsor"> Donate </span>
 
 **如果您觉得BVP库还不错,您可以对BVP打赏哦,您的支持将是我持续维护的动力。**
 

+ 2 - 2
README_CN.md

@@ -15,7 +15,7 @@
 
 ## 使用方法
 
-## [1.快速使用](https://github.com/zhpanvip/BannerViewPager/wiki/06.快速使用)
+## [1.快速开始](https://github.com/zhpanvip/BannerViewPager/wiki/06.快速开始)
 
 ## [2.API文档](https://github.com/zhpanvip/BannerViewPager/wiki/07.API文档)
 
@@ -29,7 +29,7 @@
 ## 效果预览
 
  ### [点击或扫描二维码下载apk](https://www.pgyer.com/bannerviewpager) 
- 由于平台限制,每个版本最多只能下载10次。其他版本下载链接:[下载V3.2.0](https://www.pgyer.com/24463b9b840a6317f3c98f6f3082685c),[下载V3.1.4](https://www.pgyer.com/472da9094cdc6175afdb36d99292de94)
+ 由于蒲公英平台限制,每个版本最多只能下载10次。其他版本下载链接:[下载V3.2.0](https://www.pgyer.com/24463b9b840a6317f3c98f6f3082685c),[下载V3.1.4](https://www.pgyer.com/472da9094cdc6175afdb36d99292de94)
 
 ![扫描下载Demo](https://gitee.com/zhpanvip/images/raw/master/project/banner/qrcode.png)
 

+ 30 - 2
bannerview/src/main/java/com/zhpan/bannerview/BaseViewHolder.java

@@ -1,17 +1,23 @@
 package com.zhpan.bannerview;
 
+import android.graphics.Bitmap;
+import android.graphics.drawable.Drawable;
 import android.util.SparseArray;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 
 import androidx.annotation.ColorInt;
+import androidx.annotation.ColorRes;
 import androidx.annotation.DrawableRes;
 import androidx.annotation.IdRes;
 import androidx.annotation.NonNull;
 import androidx.annotation.StringRes;
+import androidx.core.content.ContextCompat;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.zhpan.bannerview.annotation.Visibility;
+
 /**
  * <pre>
  *   Created by zhpan on 2020/4/5.
@@ -32,7 +38,7 @@ public class BaseViewHolder<T> extends RecyclerView.ViewHolder {
      * @deprecated bind data in adapter please.
      */
     @Deprecated
-    public void bindData(T data, int position, int pageSize){
+    public void bindData(T data, int position, int pageSize) {
     }
 
     @SuppressWarnings("unchecked")
@@ -45,7 +51,6 @@ public class BaseViewHolder<T> extends RecyclerView.ViewHolder {
         return (V) view;
     }
 
-
     public void setText(int viewId, CharSequence text) {
         View view = findViewById(viewId);
         if (view instanceof TextView) {
@@ -67,6 +72,13 @@ public class BaseViewHolder<T> extends RecyclerView.ViewHolder {
         }
     }
 
+    public void setTextColorRes(@IdRes int viewId, @ColorRes int colorRes) {
+        View view = findViewById(viewId);
+        if (view instanceof TextView) {
+            ((TextView) view).setTextColor(ContextCompat.getColor(itemView.getContext(), colorRes));
+        }
+    }
+
     public void setOnClickListener(int viewId, View.OnClickListener clickListener) {
         findViewById(viewId).setOnClickListener(clickListener);
     }
@@ -85,4 +97,20 @@ public class BaseViewHolder<T> extends RecyclerView.ViewHolder {
             ((ImageView) view).setImageResource(resId);
         }
     }
+
+    public void setImageDrawable(@IdRes int viewId, Drawable drawable) {
+        View view = findViewById(viewId);
+        if (view instanceof ImageView) {
+            ((ImageView) view).setImageDrawable(drawable);
+        }
+    }
+
+    public void setImageBitmap(@IdRes int viewId, Bitmap bitmap) {
+        ImageView view = findViewById(viewId);
+        view.setImageBitmap(bitmap);
+    }
+
+    public void setVisibility(@IdRes int resId, @Visibility int visibility) {
+        findViewById(resId).setVisibility(visibility);
+    }
 }