关闭

Android中ImageView的图片宽度设置

标签: androidimageviewscaleType笔记
437人阅读 评论(0) 收藏 举报
分类:
Android中ImageView的图片宽度设置

有一张图片,想放到ImageView中去,高度为原图片大小,宽度希望占据整个屏幕,以下是最初的设置,
<LinearLayout
                  android:id="@+id/calendar_lay_2"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:layout_below="@+id/calendar_lay_1"
                 android:background="@color/black"
                 android:orientation="vertical" >                  
                    
                 <ImageView
                     android:id="@+id/calendar_school_img_2"
                     android:layout_width="fill_parent"
                     android:layout_height="wrap_content"
                     android:src="@drawable/school_2" />
             </LinearLayout>
但放手机上去发现图片的宽度并没有占据手机屏幕,最初本人认为是因为外面LinearLayout限制的ImageView的宽度,后来问了大神才发现,原来是ImageView的android:scaleType没有设置。
scaleType=“fitXY”(是将原图进行横方向(即XY方向)的拉伸后绘制的。
<LinearLayout
                  android:id="@+id/calendar_lay_2"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:layout_below="@+id/calendar_lay_1"
                 android:background="@color/black"
                 android:orientation="vertical" >                  
                    
                 <ImageView
                     android:id="@+id/calendar_school_img_2"
                     android:scaleType="fitXY"
                     android:layout_height="wrap_content"
                     android:src="@drawable/school_2" />
             </LinearLayout>
scaleType的其他属性含义(摘自http://blog.csdn.net/lirui0822/article/details/38423423)

1 android:scaleType="center"

(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按照图片的原大小居中显示,不缩放,用ImageView的大小截取图片的居中部分。

(2)当图片小于ImageView的宽高:直接居中显示该图片。

2 android:scaleType="centerCrop"

(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按比例缩小图片,直到图片的宽高有一边等于ImageView的宽高,则对于另一边,图片的长度大于或等于ImageView的长度,最后用ImageView的大小居中截取该图片。

(2)当图片小于ImageView的宽高:以图片的中心店和ImageView的中心点为基准,按比例扩大图片,直到图片的宽高大于或等于ImageView的宽高,并按ImageView的大小居中截取该图片。

3 android:scaleType="centerInside"

(1)当图片大于ImageView的宽高:以图片的中心和ImageView的中心点为基准,按比例缩小图片,使图片宽高等于或者小于ImagevView的宽高,直到将图片的内容完整居中显示。

(2)当图片小于ImageView的宽高:直接居中显示该图片。

4 android:scaleType="fitCenter"

表示把图片按比例扩大(缩小)到ImageView的宽度,居中显示。

5 android:scaleType="fitStart"

表示把图片按比例扩大(缩小)到ImageView的宽度,在ImageView的上方显示。

6 android:scaleType="fitEnd"

表示把图片按比例扩大(缩小)到ImageView的宽度,在ImageView的下方显示。

7 android:scaleType="fitXY"

表示把图片按指定的大小在ImageView中显示,拉伸或收缩图片,不保持原比例,填满ImageView。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8136次
    • 积分:228
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条