如何防止 Android 裁剪我的 ImageView?
Posted
技术标签:
【中文标题】如何防止 Android 裁剪我的 ImageView?【英文标题】:How can I prevent Android from cropping my ImageView? 【发布时间】:2013-09-16 14:13:15 【问题描述】:我有一个 ImageView,它会填满屏幕的整个宽度,并且还会像屏幕底部的波浪一样上下动画。我使用 scaleType="matrix" 因为它不应该拉伸以适应屏幕。
但是,一旦布局完成,android 会裁剪掉布局更新时外部的所有内容,因此一旦开始制作动画,底部就会丢失。
所以我的问题是,
【问题讨论】:
试试 scaleType:fitxy 或者 scaleType:centerInside 【参考方案1】:我写了一个似乎可以解决问题的课程,如果其他人遇到这个问题,我会分享它..
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.ViewGroup;
import android.widget.ImageView;
public class NoCropImageView extends ImageView
private int fixedWidth = 0;
private int fixedHeight = 0;
private int[] attrsArray = new int[] android.R.attr.layout_width, android.R.attr.layout_height ;
public NoCropImageView(final Context context, final AttributeSet attrs)
super(context, attrs);
TypedArray ta = context.obtainStyledAttributes(attrs, attrsArray);
int layout_width = ta.getDimensionPixelSize(0, ViewGroup.LayoutParams.MATCH_PARENT);
int layout_height = ta.getDimensionPixelSize(1, ViewGroup.LayoutParams.MATCH_PARENT);
ta.recycle();
fixedWidth = layout_width;
fixedHeight = layout_height;
@Override
protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec)
this.setMeasuredDimension(fixedWidth, fixedHeight);
【讨论】:
以上是关于如何防止 Android 裁剪我的 ImageView?的主要内容,如果未能解决你的问题,请参考以下文章