修改名称。
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
package com.xscm.moduleutil.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import com.xscm.moduleutil.R;
|
||||
|
||||
/**
|
||||
* com.xscm.moduleutil.widget
|
||||
* qx
|
||||
* 2025/10/24
|
||||
* 自适应图片展示
|
||||
*/
|
||||
public class AdaptiveImageView extends AppCompatImageView {
|
||||
public AdaptiveImageView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public AdaptiveImageView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public AdaptiveImageView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
Log.d("DebugImageView", "=== onMeasure START ===");
|
||||
Log.d("DebugImageView", "widthMeasureSpec: " + MeasureSpec.toString(widthMeasureSpec));
|
||||
Log.d("DebugImageView", "heightMeasureSpec: " + MeasureSpec.toString(heightMeasureSpec));
|
||||
|
||||
// 先调用父类测量
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
|
||||
Log.d("DebugImageView", "After super - Width: " + getMeasuredWidth() + ", Height: " + getMeasuredHeight());
|
||||
|
||||
Drawable drawable = getDrawable();
|
||||
if (drawable != null) {
|
||||
Log.d("DebugImageView", "Drawable - Width: " + drawable.getIntrinsicWidth() + ", Height: " + drawable.getIntrinsicHeight());
|
||||
}
|
||||
|
||||
// 强制设置为最小尺寸,确保不会太小
|
||||
int measuredWidth = getMeasuredWidth();
|
||||
int measuredHeight = getMeasuredHeight();
|
||||
|
||||
int minSize = (int) getContext().getResources().getDimension(R.dimen.dp_40);
|
||||
|
||||
if (measuredWidth < minSize) {
|
||||
measuredWidth = minSize;
|
||||
}
|
||||
if (measuredHeight < minSize) {
|
||||
measuredHeight = minSize;
|
||||
}
|
||||
|
||||
Log.d("DebugImageView", "Final - Width: " + measuredWidth + ", Height: " + measuredHeight);
|
||||
Log.d("DebugImageView", "=== onMeasure END ===");
|
||||
|
||||
setMeasuredDimension(measuredWidth, measuredHeight);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user