一步一步学android控件(之八) —— ImageView

本文详细介绍了ImageView控件的使用方法,特别是android:scaleType属性的各种用法,通过示例展示了不同scaleType的效果,并提供了布局文件、代码实现及相应属性解析,适合Android开发人员学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习的控件是ImageView.ImageView 显示任意的图片并且可以从不同的源加载图片,比如:resources 、 content provider 。使用时要注意图片的尺寸以便可以让任意Layout Manager使用和提供不同的诸如缩放、着色等操作。


ImageView使用过程中有许多需要注意的属性,今天主要是学习android:scaleType 属性。先来看看以下几张图片:

                               

 图1 没有设置scaleType              图2 scale:type=center                     图3 scale:type=centerCrop

                                

图4 scale:type=centerInside               图5 scale:type=fitcenter                  图6 scale:type=fitEnd

                                 

图7scale:type=fitStart                   图8 scale:type=fitXY                        图9 scale:type=matrix

在分析前呢先看看布局文件widget_image_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:orientation="vertical"
    android:gravity="center"
    android:background="@color/color_blue"
    android:layout_gravity="center" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/hello_image_view"
        android:contentDescription="@string/app_name"
        android:scaleType="centerInside"/>

</LinearLayout>
从上面代码中看到目前scaleType是centerInside,其他效果只需根据以上图片修改为相应的值即可。

ImageView的android:scaleType属性指定了该图片的缩放类型。

scaleType=center:取图片的中间部分,不做缩放处理。如果图片尺寸的长和宽大于ImageView的长宽则截取中间部分,否则完整的显示图片。

scaleType=centerCrop: 等比的缩放图片的长和宽以便图像的长和宽大于等于ImageView的长和宽。ImageView 视图外的部分将被裁减掉。

scaleType=centerInside:    等比的缩放图片的长和宽让图片的长和宽小于等于ImageView的长和宽。

scaleType=fitCenter: 等比缩放图片以使ImageView可以完全显示——放到ImageView的中间显示。

scaleType=fitEnd: 等比缩放图片以使ImageView可以完全显示——放到ImageView的尾部显示。

scaleType=fitStart: 等比缩放图片以使ImageView可以完全显示——放到ImageView的起始位置显示。

scaleType=fitXY: 缩放X和Y方向,铺满ImageView的空间。

scaleType=matrix: 绘图时使用图像矩阵。

下面完成上述功能,下面内容有疑问的地方参见一步一步学android控件(之一) —— 开始篇:

1、布局文件widget_image_view.xml , 内容见上面代码 。另准备一张 名为hello_image_view 的图片。

2、创建显示图片的activity——WidgetImageViewActivity.java

package com.xy.zt.selfdefinewieget;

import android.app.Activity;
import android.os.Bundle;

public class WidgetImageViewActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.widget_image_view);
    }

}
3、在ViewData.java中添加如下内容
public static final int IMAGE_VIEW_ID = TOAST_ID + 1;
    public static final String IMAGE_VIEW_NAME = "ImageView";
private static final ViewData mImageView = new ViewData(IMAGE_VIEW_NAME, IMAGE_VIEW_ID);
View_Datas.add(mImageView);

4、在WidgetsAdapter的handleItemClicked函数中添加如下事件响应代码

case ViewData.IMAGE_VIEW_ID :
            intent.setClass(mContext, WidgetImageViewActivity.class);
            mContext.startActivity(intent);
            break;

ImageView就学到这里了,其他相关属性后续再补充,谢谢!

下一个控件ImageButton。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值