ImageView控件(Android调整图片显示格式)

本文介绍了Android中的ImageView控件,它用于显示各种图片资源,并详细讲解了如何调整图片像素、位置以及滚动等属性。通过示例代码,解析了ImageView的常用属性,如setImageAlpha和setScaleType,并对比了XML与Activity中设置的区别。提供了优快云下载链接供读者参考。

ImageView是一个可以显示任何图片资源的控件,同时可以调整图片的像素,显示的位置,图片的滚动等问题。

ImageView有很多常用的属性,下面会一一解释。先看布局文件:

<?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="match_parent"
android:orientation="vertical">

<!-- 按比例缩小图片以适应ImageView的大小 -->
<ImageView
    android:id="@+id/img1"
    android:adjustViewBounds="true"    //是否按比例缩小
    android:maxWidth="150dp"
    android:maxHeight="150dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/second"
    android:layout_gravity="center_horizontal"
    />
<!-- 放大/缩小图片以适应ImageView大小 -->
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/img31"
        android:layout_width="50dp"
        android:layout_height="70dp"
        android:src="@drawable/ic_launcher"
        android:scaleType="fitStart"/>    //以左上角为起点,把图等比例放大直到宽达到50或高达到70
    <ImageView
        android:id="@+id/img32"
        android:layout_width="50dp"
        android:layout_height="70dp"
        android:src="@drawable/ic_launcher"
        android:scaleType="fitXY"/>      //填满50*70的空间
    <ImageView
        android:id="@+id/img33"
        android:layout_width="50dp"
        android:layout_height="70dp"
        android:src="@drawable/ic_launcher"
        android:scaleType="fitEnd"/>   //以右下角为起点,把图等比例放大直到宽达到50或高达到70
    <ImageView
        android:id="@+id/img34"
        android:layout_width="50dp"
        android:layout_height="70dp"
        android:src="@drawable/ic_launcher"
        android:scaleType="fitCenter"/>  //以中心为起点,把图等比例放大直到宽达到50或高达到70
    <ImageView
        android:id="@+id/img35"
        android:layout_width="50dp"
        android:layout_height="70dp"
        android:src="@drawable/ic_launcher"
        android:scaleType="centerCrop"/>  //以中心为起点,把图缩放到宽>=50&&高>=70为止
    <ImageView
        android:id="@+id/img36"
        android:layout_width="50dp"
        android:layout_height="70dp"
        android:src="@drawable/ic_launcher"
        android:scaleType="centerInside"/>  //以中心为起点,吧图缩放到适合50*70的空间。即都是小于等于。
</LinearLayout>

<!-- 剪切图片以适应内边距大小 -->
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/img21"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"/>
    <ImageView
        android:id="@+id/img22"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        android:cropToPadding="true"        //向上滚动20dp
        android:scrollY="20dp"/>
    <ImageView
        android:id="@+id/img23"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        android:cropToPadding="true"       //向下滚动20dp
        android:scrollY="-20dp"/>
    <ImageView
        android:id="@+id/img24"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        android:tint="#FF0000"/>          //对视图进行颜色渲染
</LinearLayout>

<!-- 图片较大时, ImageView会自动缩小图片,占用可以使用的全部屏幕空间 -->
<ImageView
    android:id="@+id/img4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:src="@drawable/first"/>

</LinearLayout>

运行结果如下:

对于后台的操作了解的不太多,比如

img.setImageAlpha(x);x从0~255,由透明变得不透明,其中50是半透明。

img.setScaleType(ImageView.ScaleType.X);x是scaletype属性,不过activity中跟xml有所不同,比如img.setScaleType(ImageView.ScaleType.FIT_END);靠系统提示吧。

文件源码地址:https://download.youkuaiyun.com/download/qq_38367681/10778481

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值