Android ImageView设置长度高度为wrap_content时高度根据图片比例自适应

<ImageView
            android:id="@+id/img_1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="centerInside"
            android:src="@drawable/img_bg" />

网络上下载下来的图片自适应: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:

<?xmlversion="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" /> <cornersandroid:radius="2.0dip" /> <paddingandroid: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-09-14 05:41:10

Android ImageView设置长度高度为wrap_content时高度根据图片比例自适应的相关文章

Android中设置TextView首行缩进

在文字排版的时候经常要设置首行缩进,使用过word的都会知道,那么在Android中当需要设置首行缩进的时候该肿么办呢,我总结了两种方式: 第一种:傻瓜式,空格充当(8个空格占两个汉字的大小). textView.setText("        设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进设置首行缩进"); 第二种:转义字符. textView.se

Android动态设置RelativeLayout控件的高度例子

在做项目的时候其中一个需求是要求banner图的宽和高是1:1所以我需要获取手机屏幕的宽度然后动态的把高度值设置为手机屏幕宽度的值在这项目中就是设置RelativeLayout的高度值代码如下 mRllayoutBanner = (RelativeLayout) findViewById(R.id.rl_banner); WindowManager wm = this.getWindowManager(); int width = wm.getDefaultDisplay().getWidth(

设置宽度-Android中使用mupdf横屏显示pdf时将pdf缩放了,哪位大神用过这个库?

问题描述 Android中使用mupdf横屏显示pdf时将pdf缩放了,哪位大神用过这个库? 在横屏阅读pdf时,将pdf纵向的缩小显示了整个pdf.但是现在要的效果就是横屏的时候让pdf的宽达到横屏时候的宽,(目前是横向滑动的)高度可以上下来回拖!可以两根手指放大之类的效果,请问有哪位大神用过这个pdf,如何设置初始时候的画面大小啊,求大神解答,在线等!!! 解决方案 使用skia库生成pdf文件 解决方案二: 我的Mupdf嵌到项目中总是出错,是不是需要NDK编译啊,求指点:22313717

android浏览器开发,地址栏用什么组件怎样设置成当获得焦点时输入法中有“前往”或“搜索”键

问题描述 android浏览器开发,地址栏用什么组件怎样设置成当获得焦点时输入法中有"前往"或"搜索"键 想用android写一个android浏览器的小DEMO,地址栏用的原生EDITTEXT组件,说到这里那么问题来了..在EDITTEXT中输入完毕之后,弹出的输入法中没有"前往"或者"搜索"键,网上下载的浏览器比如UC浏览器,地址栏输入后键盘上都有有一个"前往"按钮.这种情况应该如何设置? 解决方案 我

imageview-求助android imageView的设置问题

问题描述 求助android imageView的设置问题 首先用imageView.setScaleType(ImageView.ScaleType.FIT_START) 然后用imageView.setLayoutParams(); //layoutParams的margin已设置 最终显示结果,第一句语句失效,那么如何解决 解决方案 http://blog.sina.com.cn/s/blog_7db304660100z0kg.htmlhttp://blog.csdn.net/eyu887

android imageView详解

正文 一.结构 java.lang.Object android.view.View android.widget.ImageView   已知直接子类: ImageButton, QuickContactBadge    已知间接子类: ZoomButton   二.类概述 显示任意图像,例如图标.ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项.   三.XML属性   属性名称 描述 an

android 当两行不能填充整个屏幕时第一行填充未填充的部分

问题描述 如题找不到解决办法.我现在是RelativeLayout做的是能这样显示但是如果我第一行是EditText当点击EditText弹出软键盘,这时软键盘会把最下面显示的图顶上去.有办法解决么?先谢过了. 问题补充AngelAndAngel 写道 解决方案 你好你可以使用 linerlayout 来实现这个功能<LinearLayout android:orientation="horizontal" android:layout_width="fill_pare

Android ImageView实现图片裁剪和显示功能

首先在layout布局中设置按钮和一个ImageView <Button android:id="@+id/selectimagebtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="选择图片" /> <Button android:id="@+id/cutimagebt

Android ImageView 不显示JPEG图片的问题解决

Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里需要设置成setVisibility(View.VISIBLE),但图片没有显示出来,换成PNG或其它的JPEG格式的图片确可以正常的显示. 原因:显示的图片大小为5.39K,图片格式有损坏,所以不能正常显示. 解决:换一张图片,或重新生成JPEG图片. 如果还是不能正常显示,建议在设置完VISIBLE后,调用如下方法: iv.setVisibility(