android 固定大小填充图片大小,java – Android ImageView – 填充宽度和调整大小以保持宽高比...-程序员宅基地

技术标签: android 固定大小填充图片大小  

我有一个View View,我在ListView中使用.

此RowView由左侧的ImageView和水平LinearLayout右侧的TextView组成,其中图像占40%的空间,文本占剩余的60%.

我希望布局以下列方式处理ImageView中图像的大小调整:

>水平拉伸图像,使其占据LinearLayout的40%

>垂直调整ImageView的大小以保持原始高宽比

这是我对布局的方法:

protected class RowView extends LinearLayout {

public ImageView iv = null;

public TextView tv = null;

private LinearLayout.LayoutParams ivlp = null;

private LinearLayout.LayoutParams tvlp = null;

public RowView(Context ct) {

super(ct);

setOrientation(LinearLayout.HORIZONTAL);

// Create the views

iv = new ImageView(ct);

ivlp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 0.4f);

iv.setLayoutParams(ivlp);

iv.setAdjustViewBounds(true);

iv.setScaleType(ScaleType.FIT_XY);

tv = new TextView(ct);

tvlp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 0.4f);

tv.setLayoutParams(tvlp);

tv.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT);

// Add the views

addView(iv);

addView(tv);

}

}

我得到的结果是这样的:

据我所知:

> MATCH_PARENT正确地强制图像水平拉伸以填充40%的空间

> ImageView.setAdjustViewBounds(true)应该允许ImageView的任何大小调整,这是我想要的.问题是没有ImageView.ScaleType似乎做我想要的

> ImageView.ScaleType(ScaleType.FIT_XY)不是我想要的,因为它不保持纵横比.但是所有其他的,似乎没有拉伸ImageView的高度(这使得ImageView.setAdjustViewBounds(true)几乎没用).

我究竟做错了什么?这个简单的事情如此困难似乎是错的?

或者我是否真的必须努力扩展ImageView和Overriding onMeasure以强制调整大小和宽高比?

或者Matrix有一个聪明的技巧来完成工作吗?

解决方法:

我相信这就是你要找的东西:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/myImage"

android:scaleType="fitCenter"

android:adjustViewBounds="true" />

标签:java,android,aspect-ratio,imageview,resize

来源: https://codeday.me/bug/20190629/1329683.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42425967/article/details/117349654

智能推荐

mysql5.7默认生成随机密码,不知道登录时需要强改_mysql 5.7 默认生成一个随机密码-程序员宅基地

文章浏览阅读5.8k次,点赞3次,收藏2次。其实想要重置 5.7 的密码很简单,就一层窗户纸:1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1这一行配置让 mysqld 启动时不对密码进行验证2、重启 mysqld 服务:systemctl restart mysqld3、使用 root 用户登录到 mysql:mysql -u root _mysql 5.7 默认生成一个随机密码

PHP反序列化:-程序员宅基地

文章浏览阅读100次。序列化。

初探计算机视觉的三个源头、兼谈人工智能|正本清源_计算机视觉的三个核心问题-程序员宅基地

文章浏览阅读3.4k次,点赞4次,收藏6次。2016-11-24 视觉求索谈话人:杨志宏 视觉求索公众号编辑朱松纯 加州大学洛杉矶分校UCLA统计学和计算机科学教授 Song-Chun Zhu     www.stat.ucla.edu/~sczhu时间: 2016年10月 杨: 朱教授,你在计算机视觉领域耕耘20余年,获得很多奖项, 是很资深的研究人员_计算机视觉的三个核心问题

程序员必学!Gradle源码全解析,看看这篇文章吧!_gradle 6.7.1源码分析-程序员宅基地

文章浏览阅读154次。背景惯例,先简单陈述一下自己的,91年生人,164年三本毕业后在深圳工作,末流小公司,工资13k,无房,无车,无户口。那时候感觉生活也还行,父母有退休金,我基本上不用太操心,女朋友在一起很久了,很体贴,没有怎么要求我。本来生活就这样一帆风顺下去我就满足了,但是去年初,女朋友家里出了一些事情,一点积蓄全给她了,后面疫情来了,家里开始催婚了,我感觉到了压力。目前的工资无法满足生活,虽然这些年来有一点点的提升,但是,房价物价涨的更快,于是我决定跳槽。从去年年底开始瞎投简历,回顾了一下,一共投了33份简历_gradle 6.7.1源码分析

关于Loadrunner并发组函数web_concurrent的注意事项_web_concurrent_start-程序员宅基地

文章浏览阅读5k次。web_concurrent_start函数是并发组开始的标记。组中所有的函数是并发执行的,并发组的结束符为web_concurrent_end 函数。在并发组中,可以包含的函数有:web_url、web_submit_data、web_custom_request、web_create_html_param、web_create_html_param_ex、web_reg_save_param、..._web_concurrent_start

Delphi dbgrideh序号_dbgrideh增加序号和箭头-程序员宅基地

文章浏览阅读267次。数据库里面的数据没有序号的数据,在dbgrideh上新增一列自定义其字段,例如:id。在dbgrideh控件上的‘OnDrawColumnCell’事件下写下代码。在unidatesource的‘OnDataChange’事件下写下。if DataCol = 0 then //设置在第一列。在编码的开头定义i,为integer。_dbgrideh增加序号和箭头

随便推点

Oracle Ora 错误解决方案合集-程序员宅基地

文章浏览阅读1.3k次。注:本文来源于 《Oracle学习笔记 --- Oracle ORA错误解决方案 》 ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进..._ora01662

阿里巴巴研究院开源的代码库有哪些_alinn 深度学习库-程序员宅基地

文章浏览阅读397次。以上是阿里巴巴研究院开源的另外几个代码库,涵盖了分布式计算、深度学习模型库、图神经网络、日志聚合等多个领域,为开发者提供了涵盖了深度学习、自然语言处理、智慧城市、搜索引擎、物联网等多个领域,为开发者提供了丰富的工具和资源。_alinn 深度学习库

拼图游戏代码html5,翻译的HTML5拼图游戏(附源码)-程序员宅基地

文章浏览阅读1.2k次。demo.jpg (80.15 KB, 下载次数: 41)2013-12-10 11:05 上传HTML5技术之图像处理:一个滑动的拼图游戏HTML5有许多功能特性可以把多媒体整合到网页中。使用canvas元素可以在这个空白的画板上填充线条,载入图片文件,甚至动画效果。在这篇文章中,我将做一个滑动拼图的游戏用来展示HTML5 canvas的图片处理能力。在网页中使用canvas标签用来创建画板复制..._input做一个拖动滑块拼图游戏代码

什么是网络安全工程师?待遇好吗?-程序员宅基地

文章浏览阅读436次。什么是网络安全工程师?待遇好吗?_网络安全工程师

使用花生棒(内网版)远程控制电脑_花生棒 远程唤醒-程序员宅基地

文章浏览阅读4.5k次。首先将花生棒正确连接:网口端和路由器(或者交换机)相连接,电源端最好是使用独立的电源,如果你将电源端的那一头接到电脑主机上面的话,你关了主机,花生棒的电也就断了,所以最好使用独立的电源供电。输入网址www.oray.cn进入花生棒登陆界面:输入你的sn码和初始密码登陆,登陆之后的界面如下:然后点击内网映射,点右上角的位置添加映射,可以看到购买花生棒的时候官方已经送了一个免费域名给我们啦。为被远程控制_花生棒 远程唤醒

unity 动画Animator 状态机 关节动画 蒙皮动画 顶点动画思路整理_顶点动画 蒙皮动画-程序员宅基地

文章浏览阅读344次。动画思路的简单整理 做个归纳关节动画关节动画是组合而成的父子关系 不是一个整体 物体组合的物体之间有间隙蒙皮动画是一个整体 有mesh包围了整个骨骼物体组合的物体之间没有间隙顶点动画改变物体mesh的形状一 获得mesh 顶点数组还有法线数组二 对这些顶点数组的位置进行修改1, legacy:Unity 3.5以前老旧的选项2, generi..._顶点动画 蒙皮动画

推荐文章

热门文章

相关标签