imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
ImageView.ScaleType共八种:
1·ImageView.ScaleType.center:图片位于视图中间,但不执行缩放。
2·ImageView.ScaleType.CENTER_CROP 按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者大于相应的视图的维度
3·ImageView.ScaleType.CENTER_INSIDE按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者小于相应的视图的维度
4·ImageView.ScaleType.FIT_CENTER缩放图片使用center
5·ImageView.ScaleType.FIT_END缩放图片使用END
6·ImageView.ScaleType.FIT_START缩放图片使用START
7·ImageView.ScaleType.FIT_XY缩放图片使用XY
8·ImageView.ScaleType.MATRIX当绘制时使用图片矩阵缩放
公共方法
static ImageView.ScaleType valueOf(String name)
final static ScaleType[] values()
枚举值
public static final ImageView.ScaleType CENTER
图片位于视图中间,但不执行缩放比例。在XML中,使用语法:android:scaleType=”center”
public static final ImageView.ScaleType CENTER_CROP
按比例统一缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或大于相应的视图维度。然后图片居中于视图。在XML中,使用语法:android:scaleType=”centerCrop”
public static final ImageView.ScaleType CENTER_INSIDE
按比例统一缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或小于相应的视图维度。然后图片居中于视图。在XML中,使用语法:android:scaleType=”centerInside”
public static final ImageView.ScaleType FIT_CENTER
缩放图片使用CENTER。在XML中,使用语法:android:scaleType=”fitCenter”
public static final ImageView.ScaleType FIT_END
缩放图片使用END。在XML中,使用语法:android:scaleType=”fitEnd”
public static final ImageView.ScaleType FIT_START
缩放图片使用START。在XML中,使用语法:android:scaleType=”fitStart”
public static final ImageView.ScaleType FIT_XY
缩放图片使用FILL.。在XML中,使用语法:android:scaleType=”fitXY”
public static final ImageView.ScaleType MATRIX
当绘制时使用图片矩阵缩放。图片矩阵可以使用setImageMatrix(Matrix)进行设定。在XML中,使用语法:android:scaleType=”matrix”
公共方法
public static ImageView.ScaleType valueOf (String name)
参数
String name(名字)
返回值
ImageView.ScaleType
public static final ScaleType[] values ()
参数
NULL
返回值
ScaleType[]
示例代码:
为了全面演示ImageView.ScaleType的八种类型即CENTER,CENTER_CROP,CENTER_INSIDE,FIT_CENTER,FIT_START,FIT_END,FIT_XY,MATRIX,我在这里通过一个GridView进行显示,可通过点击每一种类型的ImageButton进行详细查看、比较。
背景图片为一个像素宽度(443px)×高度(500px),大于默认的Android模拟器320×480,这样可以清晰的看出ImageView是否做了比例缩放,及所处位置的差异。
(1) AndroidManifest.xml添加各种ScaleType的Activity
(2) res/layout/main.xml GridView主视图布局
(3) res/layout/image.xml ScaleType视图布局
(4) ImageAdapter.java 继承BaseAdapter,并载入GridView的图片资源
public class ImageAdapter extends BaseAdapter
{
// 定义Context
private Context mContext;
// 定义整型数组 即图片资源
private Integer[] mImageIds =
{
R.drawable.center,
R.drawable.centercrop,
R.drawable.centerinside,
R.drawable.fitcenter,
R.drawable.fitstart,
R.drawable.fitend,
R.drawable.fitxy,
R.drawable.matrix,
};
public ImageAdapter(Context c)
{
mContext = c;
}
// 获取图片的个数
public int getCount()
{
return mImageIds.length;
}
// 获取图片在库中的位置
public Object getItem(int position)
{
return position;
}
// 获取图片ID
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null)
{
// 给ImageView设置资源
imageView = new ImageView(mContext);
// 设置布局 图片显示
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
// 设置显示比例类型
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
}
else
{
imageView = (ImageView) convertView;
}
imageView.setImageResource(mImageIds[position]);
return imageView;
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
作者:京东科技 牛志伟 函数式编程简介 常见应用场景 1、ES6中的map、filter、reduce等函数 [1,2,3,4,5].map(x => x * 2).filter(x => x > 5).reduce((p,n) => …