中建365-bug修复
parent
f8a47c454f
commit
bf9a24d132
@ -0,0 +1,89 @@
|
|||||||
|
package com.xty.common.util;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Matrix;
|
||||||
|
import android.graphics.drawable.BitmapDrawable;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.text.Html;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
import com.bumptech.glide.Glide;
|
||||||
|
import com.bumptech.glide.request.target.SimpleTarget;
|
||||||
|
import com.bumptech.glide.request.transition.Transition;
|
||||||
|
|
||||||
|
public class ImageGetterUtils {
|
||||||
|
public static MyImageGetter getImageGetter(Context context, TextView textView) {
|
||||||
|
MyImageGetter myImageGetter = new MyImageGetter(context, textView);
|
||||||
|
return myImageGetter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class MyImageGetter implements Html.ImageGetter {
|
||||||
|
|
||||||
|
private URLDrawable urlDrawable = null;
|
||||||
|
private TextView textView;
|
||||||
|
private Context context;
|
||||||
|
|
||||||
|
public MyImageGetter(Context context, TextView textView) {
|
||||||
|
this.textView = textView;
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Drawable getDrawable(final String source) {
|
||||||
|
urlDrawable = new URLDrawable();
|
||||||
|
Glide.with(context).asBitmap().load(source).into(new SimpleTarget<Bitmap>() {
|
||||||
|
@Override
|
||||||
|
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
||||||
|
urlDrawable.bitmap = changeBitmapSize(resource);
|
||||||
|
urlDrawable.setBounds(0, 0, changeBitmapSize(resource).getWidth(), changeBitmapSize(resource).getHeight());
|
||||||
|
textView.invalidate();
|
||||||
|
textView.setText(textView.getText());//不加这句显示不出来图片,原因不详
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return urlDrawable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class URLDrawable extends BitmapDrawable {
|
||||||
|
public Bitmap bitmap;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw(Canvas canvas) {
|
||||||
|
super.draw(canvas);
|
||||||
|
if (bitmap != null) {
|
||||||
|
canvas.drawBitmap(bitmap, 0, 0, getPaint());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Bitmap changeBitmapSize(Bitmap bitmap) {
|
||||||
|
int width = bitmap.getWidth();
|
||||||
|
int height = bitmap.getHeight();
|
||||||
|
//设置想要的大小
|
||||||
|
int newWidth = width;
|
||||||
|
int newHeight = height;
|
||||||
|
//计算压缩的比率
|
||||||
|
float scaleWidth = ((float) newWidth) / width;
|
||||||
|
float scaleHeight = ((float) newHeight) / height;
|
||||||
|
//获取想要缩放的matrix
|
||||||
|
Matrix matrix = new Matrix();
|
||||||
|
matrix.postScale(scaleWidth, scaleHeight);
|
||||||
|
//获取新的bitmap
|
||||||
|
bitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
|
||||||
|
|
||||||
|
bitmap.getWidth();
|
||||||
|
|
||||||
|
bitmap.getHeight();
|
||||||
|
|
||||||
|
return bitmap;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.xty.common.weight
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.AttributeSet
|
||||||
|
import android.view.MotionEvent
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
|
||||||
|
class CustomerRecyclerview @JvmOverloads constructor(
|
||||||
|
context: Context, attrs: AttributeSet? = null
|
||||||
|
) : RecyclerView(context, attrs) {
|
||||||
|
|
||||||
|
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
|
||||||
|
parent.requestDisallowInterceptTouchEvent(true)
|
||||||
|
return super.dispatchTouchEvent(ev)
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
|
||||||
|
<stroke android:color="@color/white" android:width="@dimen/dp_2"/>
|
||||||
|
<solid android:color="@color/col_2621"/>
|
||||||
|
</shape>
|
Loading…
Reference in New Issue