android ImageView 宽度设定,高度自适应

最近碰到一个需求,要求是在不知道图片宽度和高度的情况下,让图片在指定宽度内充满,同时高度自适应,在网络上查找了一下,也有很多解决方法,后来针对自己的应用,选择了一个修改较小的方案,最后证明效果还是蛮不错的,记录在这里,希望能帮助到有同样需求的人。

首先,需要给你的ImageView布局加上android:adjustViewBounds="true"

 <ImageView
            android:id="@+id/iv_custom_showdress_item_dress"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"/>

然后,在代码里设置ImageView.最大宽度和最大高度,因为adjustViewBounds属性只有在设置了最大高度和最大宽度后才会起作用

WindowManager wm = (WindowManager) _context.getSystemService(Context.WINDOW_SERVICE);
            int screenWidth = wm.getDefaultDisplay().getWidth();
            ViewGroup.LayoutParams lp = viewHolder.showDress.getLayoutParams();
            lp.width = screenWidth;
            lp.height = LayoutParams.WRAP_CONTENT;
            viewHolder.showDress.setLayoutParams(lp);
时间: 2024-08-02 07:03:33

android ImageView 宽度设定,高度自适应的相关文章

网页图片宽度和高度自适应的方法

在我们设计网页的时候,经常会遇到图片自适应问题,实际这些工作完全可以交给浏览器来完成就可以了,只可惜,无论是IE还是FIREFOX在图片自适应这个问题上都处理的不尽人意,网上实现网页图片宽度和高度的方法也很多,主要又两种: 第一种是使用CSS来完成:第二种是使用Javascript来完成,根据实际的应用效果来说,使用Javascript还是比较靠谱一点,因为CSS的expression的确有点烦,笔者是指使用效果上有点恼人,本文专门把这两种都总结一下,方便站长们参考使用. 一.使用CSS实现图片

iOS 字符串的宽度和高度自适应

//获取字符串的宽度 -(float)widthForString:(NSString *)value fontSize:(float)fontSize andHeight:(float)height { UIColor *backgroundColor=[UIColor blackColor]; UIFont *font=[UIFont boldSystemFontOfSize:fontSize]; CGRect sizeToFit = [value boundingRectWithSize:

如何在NPOI中实现宽度自适应和高度自适应

转自: blog.csdn.net/echoshinian100/article/details/38540321 由于系统需要在网页上导 出Excel文件,最近花了一段时间去学习NPOI插件.通过NPOI插件在服务端来生成Excel文件流并下载到本地.NPOI实际上和Excel一毛 钱关系都没有,它只是完全破译了Excel文件的存储格式,并用C#来生成同样的格式从而被识别为Excel文件. NPOI和Excel VBA相比优点很多,首先是Excel VBA中的对象太多,而且是基于Visual

Android 组件宽度高度自适应

Android的组件要去使用布局的灵活性并适应各种尺寸的屏幕,应使用wrap_content和match_parent控制某些视图组件的宽度和高度. 使用wrap_content,系统就会将视图的宽度和高度设置成所需的最小尺寸以适应视图中的内容,而match_parent(在低于API级别8的级别中称为fill_parent),则会展开组件以匹配其父视图的尺寸. 如果使用wrap_content和match_parent尺寸值而不是硬编码的尺寸,视图就会相应地仅使用自身所需的空间或展开以填满可用

Android动态设定GridView的高度,固定column,实现高度自适应

动态设定GridView的高度,固定column,根据gridview中的item个数设定高度: 调用以下方法: [java] view plaincopy public static void setListViewHeightBasedOnChildren(GridView listView) { // 获取listview的adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) {

Android下在onCreate中获取控件的宽度和高度(通过回调)

有时候需要在onCreate方法中知道某个View组件的宽度和高度等信息, 而直接调用View组件的getWidth().getHeight().getMeasuredWidth().getMeasuredHeight().getTop().getLeft()等方法是无法获取到真实值的,只会得到0. 这是因为View组件布局要在onResume回调后完成. 下面提供实现方法: 第一种: onGlobalLayout回调会在布局完成时自动调用 img1.getViewTreeObserver().

Android在OnCreate中获取控件的宽度和高度

原文链接:http://www.cnblogs.com/wt616/archive/2012/05/11/2496180.html 在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算.在需要自适应屏幕的情况下,这种计算就显得特别重要.另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高度. 可惜的是,根据我的验证,利用网上转载的那些方法在OnCreate函数中获取到的仍然是0(希望搞技术的能自己验证过再转载),例如Measure方法之后调用getMe

Ios之label自适应里面的文字,自动调整宽度和高度的

[label setNumberOfLines:0];//设置显示的行数 NSString *s = @"string......";//设置要显示的内容 UIFont *font = [UIFont fontWithName:@"Arial" size:12];//设置字体样式 CGSize size = CGSizeMake(320,2000);//设置最大容量 CGSize labelsize = [s sizeWithFont:font constraine

android 修改videoview的宽度和高度

如果直接用android的videoview.他是不允许你随意的修改宽度和高度的,所以我们要重写videoview! package com.hysmarthotel.view; import android.content.Context;import android.util.AttributeSet;import android.widget.VideoView; public class MyVideoView extends VideoView{ public MyVideoView(