package com.base.util; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.databinding.BindingAdapter; import android.graphics.PorterDuff; import android.net.Uri; import android.provider.MediaStore; import android.text.Html; import android.text.TextUtils; import android.widget.ImageView; import android.widget.TextView; import com.base.util.helper.BlurTransformation; import com.base.util.helper.GlideCircleTransform; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.model.CommentInfo; import com.model.MessageInfo; import com.ui.main.R; /** * Created by baixiaokang on 16/5/6. */ public class BindingUtils { @BindingAdapter({"imageUrl"}) public static void loadImg(ImageView v, String url) { v.setColorFilter(v.getContext().getResources().getColor(SpUtil.isNight() ? R.color.CoverColor : R.color.colorWhite), PorterDuff.Mode.MULTIPLY); Glide.with(v.getContext()) .load(getFuckUrl(url)) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(v); } @BindingAdapter({"roundImageUrl"}) public static void loadRoundImg(ImageView v, String url) { v.setColorFilter(v.getContext().getResources().getColor(SpUtil.isNight() ? R.color.CoverColor : R.color.colorWhite), PorterDuff.Mode.MULTIPLY); Glide.with(v.getContext()) .load(getFuckUrl(url)) .diskCacheStrategy(DiskCacheStrategy.ALL) .transform(new GlideCircleTransform(v.getContext())) .error(R.mipmap.ic_launcher) .into(v); } @BindingAdapter({"comment"}) public static void setComment(TextView tv, CommentInfo data) { tv.setText(Html.fromHtml("<font color='#000000'>" + data.creater.username + ":<br/><br/>" + "</font>" + data.content)); } @BindingAdapter({"message"}) public static void setMessage(TextView tv, MessageInfo data) { tv.setText(Html.fromHtml("<font color='#000000'>" + data.creater.username + ":<br/><br/>" + "</font>" + data.message)); } @BindingAdapter({"article"}) public static void setArticle(TextView tv, String url) { if (TextUtils.isEmpty(url)) return; String article = url.replace("<br>", "\n").replaceAll(" ", "").replaceAll("//", ""); if (!TextUtils.isEmpty(article) && article.indexOf(">") > 0) { article = article.substring(article.indexOf(">") + 4, article.length()); } tv.setText(article); } public static String getFuckUrl(String url) { if (url != null && url.startsWith("http://ear.duomi.com/wp-content/themes/headlines/thumb.php?src=")) { url = url.substring(url.indexOf("=") + 1, url.indexOf("jpg") > 0 ? url.indexOf("jpg") + 3 : url.indexOf("png") > 0 ? url.indexOf("png") + 3 : url.length()); url = url.replace("kxt.fm", "ear.duomi.com"); } return url; } public static void loadRoundAndBgImg(ImageView v, String url, ImageView im_header) { v.setColorFilter(v.getContext().getResources().getColor(SpUtil.isNight() ? R.color.CoverColor : R.color.colorWhite), PorterDuff.Mode.MULTIPLY); Glide.with(v.getContext()) .load(getFuckUrl(url)) .diskCacheStrategy(DiskCacheStrategy.ALL) .transform(new GlideCircleTransform(v.getContext())) .error(R.mipmap.ic_launcher) .into(v); im_header.setColorFilter(v.getContext().getResources().getColor(SpUtil.isNight() ? R.color.CoverColor : R.color.colorWhite), PorterDuff.Mode.MULTIPLY); Glide.with(v.getContext()).load(getFuckUrl(url)) .diskCacheStrategy(DiskCacheStrategy.ALL) .transform(new BlurTransformation(v.getContext(), 100)) .crossFade() .into(im_header); } public static String getUrlByIntent(Context mContext, Intent mdata) { Uri uri = mdata.getData(); String scheme = uri.getScheme(); String data = ""; if (scheme == null) data = uri.getPath(); else if (ContentResolver.SCHEME_FILE.equals(scheme)) { data = uri.getPath(); } else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) { Cursor cursor = mContext.getContentResolver().query(uri, new String[]{MediaStore.Images.ImageColumns.DATA}, null, null, null); if (null != cursor) { if (cursor.moveToFirst()) { int index = cursor.getColumnIndex( MediaStore.Images.ImageColumns.DATA); if (index > -1) { data = cursor.getString(index); } } cursor.close(); } } return data; } }