Options for scaling the bounds of an image to the bounds of this view.
一些缩放邊界來控制圖片視圖的界限範圍的選項
換句話說就是控制圖片視圖(View)的邊界顯示方式
ImageView元件中有一個android:scaleType属性
CENTER Center the image in the view, but perform no scaling. 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示. CENTER_CROP Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or larger than the corresponding dimension of the view (minus padding). 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽) CENTER_INSIDE Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the view (minus padding). 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽 FIT_CENTER Scale the image using CENTER. 把图片按比例扩大/缩小到View的宽度,居中显示 FIT_END Scale the image using END. 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置 FIT_START Scale the image using START. 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置 FIT_XY Scale the image using FILL. 把图片不按比例 扩大/缩小到View的大小显示 MATRIX Scale using the image matrix when drawing.
例如: 如果获取到的图片的长宽比例是固定的,假设1:1. 设计要去在480*800的分辨率上要显示大小为60*60 那对于的属性就设置为:android:layout_width="40dip" android:layout_height="40dip" android:scaleType="fitXY"这样,只要你获取到的图片的比例是1:1,无论图片多大,他都会按照60*60的大小来显示。 (60px在480*800下为40dip,(60 -0.5) / 1.5=…)这样就不需要单独写一个工具来缩放图片了,而且在多分辨率适配的时候,适应能力也大大加强了。
No comments:
Post a Comment