zoukankan      html  css  js  c++  java
  • ImageButton设置src图片大小

    需求&起因

    有时候没有找到合适大小的资源,需要修改图片大小而且不改变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的大小即可。

  • 相关阅读:
    NSIS 资料
    git 强制刷新,放弃更改
    Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 8
    …gen already exists but is not a source folder. Convert to a source folder or rename it [closed]
    eclipse
    Timeout in android httpclient
    git command
    L1-032. Left-pad
    L1-030. 一帮一
    L1-028. 判断素数
  • 原文地址:https://www.cnblogs.com/tang-skillhunter/p/8540791.html
Copyright © 2011-2022 走看看