关于ImageView的布局

books1958 2013-08-07 05:27:05
今天被一个布局给整蒙了。。。
如图,需求是ImageView的宽度固定,高度等比例缩放(即图片不能变形),同时要求ImageView所占的空间刚好是它自己的高度和宽度,也就是说怎么避免上面和下面的空白部分呢?


我的布局是:

<ImageView
android:layout_height="wrap_content"
android:layout_width="160dp"
android:src="@drawable/pic01"
/>

...全文
279 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
books1958 2013-08-12
  • 打赏
  • 举报
回复
引用 7 楼 hailang1485 的回复:
加上这两个属性试试: android:scaleType="centerInside" android:adjustViewBounds="true"
这个方法不错啊!问题解决了!十分感谢!
荒颜 2013-08-07
  • 打赏
  • 举报
回复
引用 6 楼 books1958 的回复:
[quote=引用 5 楼 tanwei4199 的回复:] 那你就使用android:scaleType="FIT_CENTER" 属性 表示 把图片按比例扩大/缩小到View的宽度,居中显示
这样做不行啊,虽然图片的确居中了,但是图像上面和下面还是被撑大了,和1楼的图一样的。。。[/quote] 你的高不设置成 wrap_content呢 设置个比较大的值试试
yuebanmumu 2013-08-07
  • 打赏
  • 举报
回复
android:scaleType="centerCrop"不过这样的话水平方向会有一部分不能显示
火飞 2013-08-07
  • 打赏
  • 举报
回复
引用 2 楼 books1958 的回复:
[quote=引用 1 楼 hailang1485 的回复:] 设置scaleType属性
设置成哪个属性?我把每一个属性都试了一下好像都不行的啊。。。[/quote] 加上这两个属性试试: android:scaleType="centerInside" android:adjustViewBounds="true"
books1958 2013-08-07
  • 打赏
  • 举报
回复
引用 5 楼 tanwei4199 的回复:
那你就使用android:scaleType="FIT_CENTER" 属性 表示 把图片按比例扩大/缩小到View的宽度,居中显示
这样做不行啊,虽然图片的确居中了,但是图像上面和下面还是被撑大了,和1楼的图一样的。。。
荒颜 2013-08-07
  • 打赏
  • 举报
回复
引用 4 楼 books1958 的回复:
[quote=引用 3 楼 tanwei4199 的回复:] LZ 你的要求感觉不好实现 你固定了宽高的话 即使缩放 假如原图是个很长的图 你显示也不对 因为你固定的宽高和你即将显示的图片的宽高比例 不一定一样 除非你获得图片的宽高比 然后设置个合适的宽高 比如你的图是4:3 你设置80*60显示 你的图是2:1 你设置80*40
不是的啊,我只是要求固定宽度,高度是可以自动调节啊。 比如说我把宽度固定成100dp 1.如果原图是 宽100*高200 则不调整; 2.如果原图是 宽200*高200 则调整为100*100; [/quote] 那你就使用android:scaleType="FIT_CENTER" 属性 表示 把图片按比例扩大/缩小到View的宽度,居中显示
books1958 2013-08-07
  • 打赏
  • 举报
回复
引用 3 楼 tanwei4199 的回复:
LZ 你的要求感觉不好实现 你固定了宽高的话 即使缩放 假如原图是个很长的图 你显示也不对 因为你固定的宽高和你即将显示的图片的宽高比例 不一定一样 除非你获得图片的宽高比 然后设置个合适的宽高 比如你的图是4:3 你设置80*60显示 你的图是2:1 你设置80*40
不是的啊,我只是要求固定宽度,高度是可以自动调节啊。 比如说我把宽度固定成100dp 1.如果原图是 宽100*高200 则不调整; 2.如果原图是 宽200*高200 则调整为100*100;
荒颜 2013-08-07
  • 打赏
  • 举报
回复
LZ 你的要求感觉不好实现 你固定了宽高的话 即使缩放 假如原图是个很长的图 你显示也不对 因为你固定的宽高和你即将显示的图片的宽高比例 不一定一样 除非你获得图片的宽高比 然后设置个合适的宽高 比如你的图是4:3 你设置80*60显示 你的图是2:1 你设置80*40
books1958 2013-08-07
  • 打赏
  • 举报
回复
引用 1 楼 hailang1485 的回复:
设置scaleType属性
设置成哪个属性?我把每一个属性都试了一下好像都不行的啊。。。
火飞 2013-08-07
  • 打赏
  • 举报
回复
设置scaleType属性

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧