PreferenceImageViewpublic class PreferenceImageView extends android.widget.ImageView Extension of ImageView that correctly applies maxWidth and maxHeight. |
Constructors Summary |
---|
public PreferenceImageView(android.content.Context context)
this(context, null);
| public PreferenceImageView(android.content.Context context, android.util.AttributeSet attrs)
this(context, attrs, 0);
| public PreferenceImageView(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
this(context, attrs, defStyleAttr, 0);
| public PreferenceImageView(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)
super(context, attrs, defStyleAttr, defStyleRes);
|
Methods Summary |
---|
protected void | onMeasure(int widthMeasureSpec, int heightMeasureSpec)
final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
if (widthMode == MeasureSpec.AT_MOST || widthMode == MeasureSpec.UNSPECIFIED) {
final int widthSize = MeasureSpec.getSize(widthMeasureSpec);
final int maxWidth = getMaxWidth();
if (maxWidth != Integer.MAX_VALUE
&& (maxWidth < widthSize || widthMode == MeasureSpec.UNSPECIFIED)) {
widthMeasureSpec = MeasureSpec.makeMeasureSpec(maxWidth, MeasureSpec.AT_MOST);
}
}
final int heightMode = MeasureSpec.getMode(heightMeasureSpec);
if (heightMode == MeasureSpec.AT_MOST || heightMode == MeasureSpec.UNSPECIFIED) {
final int heightSize = MeasureSpec.getSize(heightMeasureSpec);
final int maxHeight = getMaxHeight();
if (maxHeight != Integer.MAX_VALUE
&& (maxHeight < heightSize || heightMode == MeasureSpec.UNSPECIFIED)) {
heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST);
}
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
|