中建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