Android ImageView图片自适应

网络上下载下来的图片自适应:android:adjustViewBounds="true"(其详细解释在下面)
<ImageView

    android:id="@+id/dynamic_item_image"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="top"

    android:layout_marginTop="5dip"

    android:adjustViewBounds="true"

    android:background="@drawable/imageview_background" />
另外,android:background="@drawable/imageview_background"是给图片加了一个边框,其中

imageview_background.xml:

<?xml
version="1.0" encoding="utf-8"?>
<shape  xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white"/>
<stroke android:width="2.0dip"
android:color="#99D9D9D9" /> <corners
android:radius="2.0dip" /> <padding
android:left="5.0dip" android:top="5.0dip" android:right="5.0dip"
android:bottom="5.0dip" />
</shape>

ImageView属性说明:

1、类概述

    显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。

2、XML属性


属性名称


描述


android:adjustViewBounds


是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。


android:cropToPadding


是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用,效果如下,实现代码见代码部分:


android:maxHeight


设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:

1) 设置setAdjustViewBounds为true;

2) 设置maxWidth、MaxHeight;

3) 设置设置layout_width和layout_height为wrap_content。


android:maxWidth


设置View的最大宽度。同上。


android:scaleType


设置图片的填充方式。


matrix


0


用矩阵来绘图


fitXY


1


拉伸图片(不按比例)以填充View的宽高


layout_

height

:30px

layout_

width

:120px


fitStart


2


按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边


fitCenter


3


按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间


fitEnd


4


按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边


center


5


按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示


layout_

height

:60px

layout_

width

:80px

padding

:10px


centerCrop


6


按比例放大原图直至等于某边View的宽高显示。


centerInside


7


当原图宽高或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示。


android:src


设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)


android:tint


将图片渲染成指定的颜色。见下图:

 左边为原图,右边为设置后的效果,见后面代码。

时间: 2024-10-10 17:21:26

Android ImageView图片自适应的相关文章

Android imageView图片按比例缩放

android:scaleType可控制图片的缩放方式,示例代码如下: [html] view plaincopyprint? <ImageView android:id="@+id/img" android:src="@drawable/logo" android:scaleType="centerInside" android:layout_width="60dip" android:layout_height=&q

Android ImageView图片透明区域不响应点击事件,不规则图片透明区域响应点击事件

转载:http://blog.csdn.net/aminfo/article/details/7872681 经常会在项目中用到透明图片,不规则图片,特别是做游戏的时候,需要对图片的透明区域的点击事件做特别处理. 一.先上图片文件transparent.png,图片中间区域与外围区域是非透明的,其它区域是透明的: 二.上布局文件test.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout

Android ImageView 图片圆角显示(转载)

转载自:http://www.w2bc.com/Article/3623 android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap,然后进行裁剪圆形的bitmap,然后在onDraw()进行绘制圆形图片输出. 自定义的圆形的ImageView类的实现代码如下: package com.rainwii.entity; //包名 import android.c

Android ImageView 图片设置为透明

方法一: 在xml中,设置如下 <ImageView         android:id="@+id/xx_id"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:background="@drawable/xx" />    <ImageView

设置ios中imageView图片自适应,

UIIimageView  *imageView = [UIImageView alloc]init]; [imageView setContentScaleFactor:[[UIScreen mainScreen] scale]]; imageView.contentMode =  UIViewContentModeScaleAspectFill; imageView.autoresizingMask = UIViewAutoresizingFlexibleHeight; imageView.

Android ImageView图片代码实现按屏幕宽度等比例缩放

/** * 设置图片根据屏幕宽度进行等比例缩放 * @param imageView */ public static void setImageMatchScreenWidth(ImageView imageView){ BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView.getDrawable(); if(bitmapDrawable == null) return; Bitmap bitmap = bitmapDrawabl

怪胎:Android开发ImageView图片无法显示

今天碰到一个非常奇怪的问题: 在Android中ImageView无法显示加载的本地SDCard图片. 具体过程是:先调用本地照相机程序摄像,然后将拍摄的图片加载在ImageView中显示. [java] view plaincopyprint? public class ActiEnvi extends Activity   { static final String TAG = "ActiEnvi"; private static final int REQ_CODE_CAMERA

Android开发教程--设置ImageView图片的显示比例

为适应不同屏幕的手机,ImageView图片的显示比例,可以使用android:scaleType属性来处理,处理方式的有以下几种: 1.在xml配置中使用:android:scaleType="centerCrop" 2.在代码中使用:   imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ScaleType的值分别代表的意义:ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleTyp

android获得ImageView图片的等级

android获得ImageView图片的等级问题 要实现的功能如下图,点击分享能显示选中与不选中状态,然后发送是根据状态来实现具体分享功能. 在gridview中有5个子项,每个子元素都有两张图片A,B的level设置分别为0,1:点击图片使图片AB切换,前题是要能知道当前图片的等级.但这里只有设置等级的方法,设置图片的等级setImageLevel(1); Debug时能看到当前子元素的图片等级,如下: 不能获得当前等级,只能更换思路:定义一个数组,对应每个子元素的状态 final int[