首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么ImageView中drawable的宽度/高度错误?

ImageView中drawable的宽度/高度错误可能是由以下几个原因导致的:

  1. 图片资源问题:drawable中的图片资源可能存在问题,比如图片本身的尺寸与ImageView的尺寸不匹配,或者图片资源损坏等。解决方法是检查图片资源的尺寸和格式是否正确,并尝试使用其他图片资源进行测试。
  2. ImageView的尺寸设置问题:ImageView的宽度/高度可能没有正确设置,导致图片显示不正常。解决方法是确保ImageView的宽度/高度设置正确,可以通过布局文件中的layout_width和layout_height属性或者代码中的setLayoutParams方法进行设置。
  3. 缩放类型设置问题:ImageView的缩放类型可能没有正确设置,导致图片显示不正常。ImageView的缩放类型决定了图片在ImageView中的显示方式,常见的缩放类型包括fitXY、centerCrop、centerInside等。解决方法是根据需求选择合适的缩放类型,并通过setScaleType方法进行设置。
  4. 图片拉伸问题:如果ImageView的宽度/高度与图片的宽度/高度不匹配,图片可能会被拉伸或压缩,导致显示不正常。解决方法是根据图片的宽高比例调整ImageView的宽度/高度,或者使用ScaleType属性进行适当的缩放。
  5. 布局约束问题:如果ImageView处于复杂的布局中,可能存在布局约束导致图片显示不正常的情况。解决方法是检查布局文件中ImageView的约束条件,确保其能够正确地显示图片。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):提供高可靠、低成本的云端存储服务,适用于图片、视频、音频等多媒体资源的存储和管理。详情请参考:https://cloud.tencent.com/product/cos
  • 腾讯云图片处理(CI):提供丰富的图片处理功能,包括缩放、裁剪、旋转、水印等,可用于解决图片尺寸不匹配的问题。详情请参考:https://cloud.tencent.com/product/ci
  • 腾讯云智能视频(IVP):提供智能视频分析和处理服务,可用于视频内容识别、人脸识别等场景,适用于处理视频资源。详情请参考:https://cloud.tencent.com/product/ivp
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OC获取一串字符串高度宽度确定)或宽度高度确定)

https://blog.csdn.net/u010105969/article/details/52937475 项目中我们有时会需要根据字符串来确定UILabel宽度高度,如我们经常遇到单元格自适应问题...如果是要动态知道UILabel高度,那么我们直接利用单元格自适应高度就可以。如果我们要获取UILabel宽度为什么要获取UILabel宽度?...因为有时如果字符串过长那么UILabel宽度就会相应发生变化),那么就可以利用下面的方法: CGSize size = [string sizeWithFont:font constrainedToSize...:CGSizeMake(MAXFLOAT, 17)];  CGFloat w =size.width; 其实这个方法只是先获取字符串(字符串字体大小是确定了size再确定其宽度。...从方法可以看出我们固定了字符串高度为17,如果想要获取字符串高度,那么固定宽度就好了。

2.5K30
  • 如何在onCreate获取View高度宽度

    如何在onCreate获取View高度宽度 在开发过程中经常需要获取到View宽和高,可以通过View.getWidth()和View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...而这一切是发生在onCreate方法之后。所以在onCreate中直接使用View.getWidth()和View.getHeight()是无法得到正确。...那应该怎么onCreate获取View宽高呢?...开发者可以通过View.post()方法来获取到View宽高,该方法传递一个Runnable参数,然后将其添加到消息队列,最后在UI线程执行。

    5.3K20

    android如何获取view在布局高度宽度详解

    前言 可能很多情况下,我们都会有在activity获取view 尺寸大小(宽度高度需求。面对这种情况,很多同学立马反应:这么简单问题,还用你说?你是不是傻。。...然后立马写下getWidth()、getHeight()等方法,洋洋得意就走了。然而事实就是这样吗?实践证明,我们这样是获取不到View宽度高度大小。...当我们在 onCreate() 方法获取某个 View 组件宽度高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight...下面来一起看看吧 实现方法 一、使用 View.measure 测量 View 该方法测量宽度高度可能与视图绘制完成后真实宽度高度不一致。...view.getHeight(); // 获取高度 } }); 七、使用 View.post() 方法 Runnable 对象方法会在 View measure、layout 等事件完成后触发

    5.9K10

    解决安卓XML文件声明高度 宽度无效问题

    搬砖时候,需要在popupwindow里嵌套一个ListView用来展示动态菜单。重写了ListView高度为所有的Item高度之和。 item: <?...layout_marginTop="10dp" style="@null" android:maxHeight="45dp" android:background="@<em>drawable</em>...android:text="取消" android:textColor="#1a99f3" android:textSize="15sp" /> 这里可以看到,我声明了高度为...但是添加到ListView时候,却发现在手机上显示高度明显大于45dp。 image 根据图片我们可以看到,下面三个按钮显示高度跟第一个显示高度,差了差不多两倍多高度。...原来原因在这里: 我们在是使用 inflater.inflate(R.layout.item_popumenu, root, attachToRoot); 来添加到父布局,但是对于这几个参数却没有去研究

    2K30

    Android开发 屏幕适配之像素密度适配

    /hdpi_test" /> 测试结果:(测量三个ImageView宽度高度,单位为px) N719: 引用drawable...dp,转换成px单位宽度 newWidth = width * (dpi/160) 3.根据上述表格mdpi,hdpi等倍数,newWidth除以这个倍数得到最终图片宽度 其中除以倍数过程也可能发生在步骤...高度计算方法类似。 对应上面的测试例子: 1.获取图片文件宽度48 2.转换成px单位宽度 newWidth = 48 * (320 / 160) = 96 3....后面尝试在ldpi添加同样大小图片,测试ImageView宽度为 96/0.75 = 128,ImageView变大了,计算结果也与以上结论一致。 如何消除这种变大变小现象呢?...将ImageView宽度高度设成固定大小比如48×48 dp,在N719上测试情况如下: 布局文件: <?xml version="1.0" encoding="utf-8"?

    1.3K10

    Android 知乎广告效果实现代码

    解决: 1.窗户问题首先想到imageViewscaleType属性,而scaleType只有matrix和center可以在不缩放图片情况下显示一张大图中部分,center始终显示在图片中间部分...onDraw说几个点: super.onDraw(canvas)代码位置 super.onDraw(canvas)是实现原本imageView逻辑地方,涉及自定义view绘制先后问题;假如我用canvas...int w = getWidth()算出图片可以显示最大宽度,再通过最大宽度 / 图片原本宽度 = 最大高度 / 图片原本高度 计算出最大高度 h。也就是int h = ….这一句。...而我们自定义imageView图片有效移动距离是整个图片高度减去窗口高度,如图绿色线:(红色框就相当于自定义imageView窗口,整张图就是窗后可以translate图片) ?...高度,这一点实现放在了自定义imageViewsetDy方法

    1.3K40

    Android实现长图展开与收起效果

    左上角开始绘制原图,原图超过ImageView部分作裁剪处理; 5.fitCenter:把原图按比例扩大或缩小到ImageView高度,居中显示; 6.fitEnd:把原图按比例扩大(缩小)到...ImageView高度,显示在ImageView下部分位置; 7.fitStart:把原图按比例扩大(缩小)到ImageView高度,显示在ImageView上部分位置; 8.fitXY:把原图按照指定大小在...View显示,拉伸显示图片,不保持原比例,填满ImageView 根据以上属性介绍,可以知道matrix属性是我们要。...对于Glide版本4.0以上,如果宽度过大,会等比例缩放至宽度等于ImageView宽度,因此并不会有问题,但是我们项目用Glide版本是3.7,而且不容易升级,故此方法不可行。...因此,可以在加载之前将宽度过大图片等比例缩放,缩放完成后再加载到ImageView中去。

    1.9K20

    android学习笔记之ImageViewscaleType属性

    matrix matrix表示原图从ImageView左上角开始绘制,如果原图大于ImageView,那么多余部分则剪裁掉,如果原图小于ImageView,那么对原图不做任何处理。...比如我两张大小不同图片,分别显示在96dp×96dpImageView上,会有不同效果,代码如下: <ImageView android:layout_width="96dp...fitXY fitXY目标是填充整个ImageView,为了完成这个目标,它需要对图片进行一些缩放操作,在缩放过程,它不会按照原图比例来缩放。...fitStart 将图片按比例缩放至View宽度或者高度(取宽和高最小值),然后居上或者居左显示(与前面缩放至宽还是高有关),我们来看下面一个例子: 显示效果: big图片是缩放至ImageView宽度,然后居上显示,small图片是缩放至ImageView高度,然后居左显示。

    1.3K20

    优酷环形菜单-相对布局练习

    优酷环形菜单 布局文件,使用控件作为第一级菜单,相对布局,位于父控件底部,水平居中,因为图片不是特别的标准,因此宽度高度都钉死,宽度高度两倍 二次菜单和三级菜单都一样布局...小房子图标控件,在父控件居中 第二级搜索图标,位于父控件底部,上下左右maigin10dp 第二级菜单图标,位于父控件顶部,水平居中,marginTop 10dp 第二级叹号图标...,位于父控件底部,右边,margin 10dp 第三级图标比较多,但是原理和第二级一样,只不过通过margin来定位 第三级channel2图标,位于channel1图标的上面,和channel1...6dp 第三级channel4图标,位于父控件上面,水平居中,marginTop 5dp 左侧半圆结束,右侧半圆和左侧一样步骤 布局代码: <ImageView android:layout_width="wrap_content" android

    91420

    【Android 应用开发】AndroidUI设计 之 图片浏览器

    该属性与 android:maxHeight 和 android:maxWidth 属性一起使用才有效果, 单独使用没有效果; 设置最大宽度, 高度 :android:maxWidth(android:...设置最大宽度, 高度; c....center : 方法常量值为 ImageView.ScaleType.CENTER, 将图片放在ImageView中央, 不进行缩放; -- centerCrop : 方法常量值为 ImageView.ScaleType.CENTER_CROP...  原图 :  android:scaleType 默认情况下 :  android:scaleType = "matrix" : 由下图可以看出, ImageView图片宽度与原图一样, 该属性不进行任何缩放..., 上下有空白; 如果高度先达到边界, 那么左右有空白; android:scaleType = "fitEnd" , 长宽等比例缩放, 宽度先达到边界, 位于下边; 如果高度先达到边界, 位于右边

    92120

    Android Volley完全解析(二),使用Volley加载网络图片

    第二个参数是图片请求成功回调,这里我们把返回Bitmap参数设置到ImageView。...第三第四个参数分别用于指定允许图片最大宽度高度,如果指定网络图片宽度高度大于这里最大值,则会对图片进行压缩,指定成0的话就表示不管图片有多大,都不会进行压缩。...ImageView显示出来了,如下图所示: ?...当然,如果你想对图片大小进行限制,也可以使用get()方法重载,指定图片允许最大宽度高度,如下所示: imageLoader.get("http://img.my.csdn.net/uploads...这时有的朋友可能就会问了,使用ImageRequest和ImageLoader这两种方式来加载网络图片,都可以传入一个最大宽度高度参数来对图片进行压缩,而NetworkImageView则完全没有提供设置最大宽度高度方法

    1.2K60

    Android自定义流式布局自动换行布局实例

    安卓自定义ViewGroup步骤是: 1. 新建一个类,继承ViewGroup 2. 重写构造方法 3....view中将最大高度存于此变量,用于子view进行换行时高度计算 int maxHeightInLine = 0; //存储所有行高度相加,用于确定此容器高度 int allHeight = 0...+ child.getMeasuredWidth() = getWidth() - getPaddingRight() - getPaddingLeft()) {//这一行所有子view相加宽度大于容器宽度...,需要换行 //换行首个子view,起始left应该为0+容器paddingLeft left = getPaddingLeft(); //top位置为上一行拥有最大高度某个View高度+垂直间距...(R.drawable.border_search_background_day); } imageView.setImageResource(R.drawable.icon_more); if (isHide

    3.8K20

    ImageView属性和方法大全

    setMaxHeight(int) 设置 ImageView最大高度 android:maxWidth setMaxWidth(int) 设置 ImageView最大宽度 android:scaleType...另外当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸,而使用background填入图片,则是会根据ImageView给定宽度来进行拉伸。...fitCenter (ImageView.ScaleType.FIT_CENTER ):保持纵横比缩放图片,直到该图片能完全显示在ImageView(图片较长边长与ImageView相应边长相等)...fitEnd (ImageView.ScaleType.FIT_END ):保持纵横比缩放图片,直到该图片能完全显示在ImageView(图片较长边长与ImageView相应边长相等),缩放完成后将该图片放在...setlmageDrawable(Drawable drawable):使用 Drawable 对象设置该 ImageView 显示图片。

    2.4K90

    2014-10-25Android学习------布局处理(三)------常见且常用列表布局

    id在R.java是找不到。...,下面是该食物介绍, 1)显然我们需要明确就是图片大小------它宽度不是填充父窗体,而应该是包裹内容,也就是wrap_content,它宽度应该就是图片宽度,随着图片大小而变化...它高度也应该是包裹内容,就是图片高度。...2)猪肉和黄连这两行文本显示控件大小-------它宽度应该是填充父窗体,(这个时候填充父窗体是指在当前水平方向线性布局剩下空间),,它宽度也可以是包裹内容,因为我们清楚这里汉字显示个数很少...;它高度应该是包括内容,汉字显示有多大,它高度应该就是多大加上边框值 3)上面的汉字显示文本框(黄连)应该设置为单行,也就是android:singleLine="true",设置单行就出现一个业务需求

    1.1K30

    图片操作系列 —(1)手势缩放图片功能

    既然我们知道了图片在做缩小放大同时还在平移,那我们就做相应反方向平移处理不就好了 我们分为二种情况: 1— 图片在缩放过程,宽或者高没有超过ImageView宽或者高: 如果图片再缩放过程没超过...看到距离是(实际图片Top值) - (2分之一ImageView高度) + (2分之一实际图片高度),因为是往上移动,所以Y轴实际上是要减少值,所以最终我们只要让实际图片减去相应距离值即可...所以我们这个例子里面处理方式是:如果宽度都大于ImageView并且图片右边界还没出现在ImageView时候,先按照自己原来方式缩小,当图片右边界出现在了ImageView范围内了,让它慢慢往右边移动...(也就是ImageView宽度 - Rect.right距离),这时候就会很和谐。...最后宽度小于ImageView时候居于中间。 PS:还有一种正好反过来。我们放大图片是左眼!!

    3.1K10

    使用三阶贝塞尔曲线实现直播中点赞效果

    private int iHeight = 120; // 爱心宽度 private int iWidth = 120; // FavorLayout高度 private...不是true lp.addRule(ALIGN_PARENT_BOTTOM, TRUE); 注意: 控件宽度高度应在onMeasure方法获取 @Override protected void onMeasure...dLove; private Drawable eLove; private Drawable[] loves; 在init方法,将爱心创建并存入数组 //初始化显示图片 loves = new...我们在位置更新时给爱心ImageView设置x、y值,使其按计算贝塞尔路径运动起来。 并且同时设置了逐渐变淡动画,也就是在运动过程逐渐消失效果。...(new AnimEndListener(imageView)); set.start(); } 聪明伙伴可能又看出来了,我给动画集设置了结束监听,又是为什么呢?

    97410
    领券