38 lines
1.2 KiB
Java
38 lines
1.2 KiB
Java
package com.mogo.utils;
|
|
|
|
import android.graphics.Bitmap;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.TextView;
|
|
|
|
/**
|
|
* author : donghongyu
|
|
* e-mail : 1358506549@qq.com
|
|
* date : 2020-02-2123:51
|
|
* desc :
|
|
* version: 1.0
|
|
*/
|
|
public class ViewUtils {
|
|
public static Bitmap fromView(View view) {
|
|
view.setDrawingCacheEnabled(true);
|
|
processChildView(view);
|
|
view.destroyDrawingCache();
|
|
view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
|
|
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
|
|
Bitmap bitmap = null;
|
|
return (bitmap = view.getDrawingCache()) != null ? bitmap.copy(Bitmap.Config.ARGB_8888, false) : null;
|
|
}
|
|
|
|
public static void processChildView(View view) {
|
|
if (!(view instanceof ViewGroup)) {
|
|
if (view instanceof TextView) {
|
|
((TextView) view).setHorizontallyScrolling(false);
|
|
}
|
|
} else {
|
|
for (int var1 = 0; var1 < ((ViewGroup) view).getChildCount(); ++var1) {
|
|
processChildView(((ViewGroup) view).getChildAt(var1));
|
|
}
|
|
}
|
|
}
|
|
}
|