需求&起因

有时候没有找到合适大小的资源,需要修改图片大小而且不改变ImageButton的大小。可以通过缩放图片大小的方式改变外观。

ImageView的属性android:scaleType也适用于ImageButton

ImageView的scaleType属性取值:matrix(默认), center, centerCrop, centerInside, fitCenter, fitEnd, fitStart, fitXY

大致分为两类:不改变原图尺寸;缩放原图尺寸

1、scaleType=“matrix”//不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。

2、scaleType=“Center”//不改变原图的大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像,超过部分裁剪。
3、scaleType=“centerCrop”//将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满)。如果原图尺寸大于ImageView尺寸,超过部分裁剪。
4、scaleType=“centerInside”//将图片的内容完整居中显示,通过按比例缩放原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图居中显示。
5、scaleType=“fitXY”//把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView
6、scaleType=“fitStart”//把原图按比例缩放到ImageView的高度,与ImageView左边对齐
7、scaleType=“fitCenter”//把原图按比例缩放到ImageView的高度,居中显示
8、scaleType=“fitEnd”//把原图按比例缩放到ImageView的高度,与ImageView右边对齐

padding属性

控制内边距,paddingTop paddingBottom paddingStart paddingEnd 分别控制上下左右的边距

而ImageButton直接设置padding是没有效果的

实现

android:scaleType设置为 android:scaleType=“fitXY”

然后设置padding,调整padding的大小改变图片的尺寸,图片不保证原比例。

替代方案

可以用Layout和ImageView 替代ImageButton, 不用设置android:scaleType属性,直接设置ImageView的大小即可。

ImageButton设置src图片大小的更多相关文章

  1. css3 设置背景图片大小(缩略图形式缩小)

    废话当然不说了. 直接上代码 <style> #mycon { background:url('Tpl/1.jpg'); background-size:400px 400px; back ...

  2. Android 设置thumb图片大小

    xml: android:thumb="@drawable/seekbar_thumb" seekbar_thumb.xml: <?xml version="1.0 ...

  3. 设置svg图片大小

    background-image: url(/resources/img/liveSupport/tx_1.svg); background-size: 16px 16px; width: 16px; ...

  4. 利用VBA宏批量解决Word中图片大小、居中设置

    需求:经常阅读网上的研报(没钱买排版漂亮的高质量研报),有些需要保存的复制下来到word里,图片很大都超出word的边界了,也没有居中,手工一张张调整不现实,上百页的研报,几十张图片. 解决方案:利用 ...

  5. Linux中如何使用gThumb批量调整图片大小

    Linux中如何使用gThumb批量调整图片大小 导读 如果你的工作涉及到图片编辑和处理,就一定会有同时对多张图片进行批量大小调整的经历.虽然大多数图片编辑应用都能够非常容易地批量调整多张图片,但对于 ...

  6. ImageView设置点击效果没有用?ImageView src的图片大小改变不了?

    ImageView设置点击效果没有用? 解决 1.ImageView xml里面必须clickable 和longClickable为true <ImageView android:layout ...

  7. imagebutton 设置了src属性的图片更换

    <ImageButton android:id="@+id/mediacontroller_play_pause" android:layout_width="wr ...

  8. 【微信小程序】动态设置图片大小

    我们都知道微信小程序的组件image是用来显示图片的,它有一下几个属性:1.src              图片资源地址2.mode          图片裁剪.缩放的模式3.binderror   ...

  9. Markdown更改字体、颜色、大小,设置文字背景色,调整图片大小设置居中,插入表格等方法

    Markdown 通过简单标记语法,使普通文本内容具有一定格式.但它本身不支持修改字体.字号与颜色等功能的. 一.更改字体大小.颜色.更改字体 Markdown语法 <font face=&qu ...

随机推荐

  1. ASP.Net MVC OA项目笔记<六>

    1.1.1 开始写业务,先写业务的实现再写业务的接口 业务类中也是有写增删改查公用的方法 引用Model,IDAL,DALFactory BLL添加两个类 UserInfoService,BaseSe ...

  2. C++数组初始化方法

    定义: ]; // array of 10 uninitialized ints 此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指 ...

  3. “全栈2019”Java多线程第二十九章:可重入锁与不可重入锁详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  4. mybatis-spring集成:配置多数据库源中遇到的问题

    转自:http://www.cfanz.cn/index.php?c=article&a=read&id=71583 mybatis配置多数据源本身很简单,和基本配置差别不大 但是如果 ...

  5. linux 时间相关

    CentOS7 正确修改时区方法 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  6. 【Spark算子】:reduceByKey、groupByKey和combineByKey

    在spark中,reduceByKey.groupByKey和combineByKey这三种算子用的较多,结合使用过程中的体会简单总结: 我的代码实践:https://github.com/wwcom ...

  7. Git文件状态

    在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. Git库所在的文件夹中的文件大致有4种状态: Untracked:未 ...

  8. Vue2.5开发去哪儿网App 搜索功能完成

    效果展示: Search.vue: <div class="search-content" ref="search" v-show="keywo ...

  9. odoo开发笔记 -- 多个视图共用一个模型

    除了写序列优先绑定之外, 窗口引用的视图id也要绑定,否则页面加载的时候,可能不是自己需要显示的视图.例如:<field name="view_id" ref="c ...

  10. KVM的VPS主机在Centos6.x下修改系统时间

    显示系统时间 # date "+%Y-%m-%d %H:%M:%S" 修改系统时区 # cp /usr/share/zoneinfo/Asia/Shanghai /etc/loca ...