ImageView控件

  • ImageView,图像视图,直接继承View类,主要功能是用于显示图片
  • 任何Drawable对象都可以使用ImageView来显示
  • ImageView可以适用于任何布局中,并且Android为其提供了缩放和着色的一些操作

常用属性

maxHeight 设置ImageView的最高高度

maxWidth 设置ImageView的最高宽度

src 设置ImageView所显示的Drawable对象的ID

scaleType 设置所显示图片如何缩放或移动以适应ImageView的大小

adjustViewBounds 设置ImageView是否调整自己的边界来保持所显示图片的长宽比

scaleType的常用属性

matrix 从左上角开始绘制图片,超过ImageView的部分裁掉

fitXY 缩放图片,不保持纵横比

fitstart 保持纵横比缩放图片,并且在ImageView的左上角显示图片

fitCenter 保持纵横比缩放图片,并且在ImageView的中央显示图片

fitEnd 保持纵横比缩放图片,并且在ImageView的右下角显示图片

center 把图片放在ImageView的中央,但不进行任何缩放,大图片裁剪

centerGrop 保持纵横比缩放图片,完整覆盖ImageView,居中显示裁剪的多余部分

centerlnside 大图片保持纵横比缩放后居中,小图片不缩放直接居中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><ImageViewandroid:id="@+id/image"android:scaleType="center"android:layout_width="200dp"android:layout_height="300dp"android:src="@drawable/logo"/><LinearLayoutandroid:layout_width="wrap_content"android:orientation="horizontal"android:layout_height="wrap_content"><Buttonandroid:id="@+id/scaleType_center_crop"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="center_crop"android:layout_weight="1"/><Buttonandroid:id="@+id/scaleType_center_inside"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="center_inside"android:layout_weight="1"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:orientation="horizontal"android:layout_height="wrap_content"><Buttonandroid:id="@+id/matrix"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="matrix"android:layout_weight="1"/><Buttonandroid:id="@+id/fitXY"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="fitXY"android:layout_weight="1"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:orientation="horizontal"android:layout_height="wrap_content"><Buttonandroid:id="@+id/fitStart"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="fitStart"android:layout_weight="1"/><Buttonandroid:id="@+id/fitCenter"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="fitCenter"android:layout_weight="1"/><Buttonandroid:id="@+id/fitEnd"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="fitEnd"android:layout_weight="1"/></LinearLayout></LinearLayout>
public class ImageViewActivity extends AppCompatActivity {ImageView iv;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_image_view);iv = findViewById(R.id.image);Button center_crop = findViewById(R.id.scaleType_center_crop);Button center_inside = findViewById(R.id.scaleType_center_inside);Button matrix = findViewById(R.id.matrix);Button fitXY = findViewById(R.id.fitXY);Button fitStart = findViewById(R.id.fitStart);Button fitCenter = findViewById(R.id.fitCenter);Button fitEnd = findViewById(R.id.fitEnd);center_crop.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv.setScaleType(ImageView.ScaleType.CENTER_CROP);}});center_inside.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE);}});matrix.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv.setScaleType(ImageView.ScaleType.MATRIX);}});fitXY.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv.setScaleType(ImageView.ScaleType.FIT_XY);}});fitStart.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv.setScaleType(ImageView.ScaleType.FIT_START);}});fitCenter.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv.setScaleType(ImageView.ScaleType.FIT_CENTER);}});fitEnd.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv.setScaleType(ImageView.ScaleType.FIT_END);}});}
}

Android_ImageView控件相关推荐

  1. Qt---布局,设置控件边距,拉伸因子

    QGridLayout *LeftLayout =new QGridLayout(this); LeftLayout->addWidget(label1, 0, 0); //label1在第1行 ...

  2. HarmonyOS 字体在自身控件中居中(使用text_alignment)

    要实现的效果就是把字体在控件居中 HarmonyOS  使用的是text_alignment 属性,详细的如下 text_alignment 文本对齐方式 left 表示文本靠左对齐. 可以设置取值项 ...

  3. Android 如何防止用户同时点击多个控件问题

    qa 测试说 一次连点不同的控件,app 多个控件分别有响应  这个问题处理方法也是很简单 就是在布局里面添加 android:splitMotionEvents="false"a ...

  4. Android中设置控件可见与不可见详解

    通常控件的可见与不可见分为三种情况. 第一种 gone 表示不可见并且不占用空间 第二种 visible 表示可见 第三种 invisible 表示不可见但是占用空间 可见与不可见的表现形式有两种. ...

  5. 文本类控件(EditView 的介绍)

    EditView的作用:用于在屏幕上显示文本输入框 Android的编辑框组件组件可以输入单行文本,多行文本,指定格式文本(密码,邮箱地址等) 2中使用方法 1 java代码中通过new关键字创建 2 ...

  6. 文本类控件 (TextView的介绍)

    TextView的作用:用于在屏幕上显示文本 Android中的文本框组件可以显示单行文本,多行文本,也可以显示带图像的文本 使用的2中方法 1 java代码中通过new关键字创建 2 XML布局中使 ...

  7. [UWP]实现一个轻量级的应用内消息通知控件

    [UWP]实现一个轻量级的应用内消息通知控件 原文:[UWP]实现一个轻量级的应用内消息通知控件 在UWP应用开发中,我们常常有向用户发送一些提示性消息的需求.这种时候我们一般会选择MessageDi ...

  8. MFC控件编程之复选框单选框分组框

    MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...

  9. 小程序中点击input控件键盘弹出时placeholder文字上移

    最近做的一个小程序项目中,出现了点击input控件键盘弹出时placeholder文字上移,刚开始以为是软键盘弹出布局上移问题是传说中典型的fixed 软键盘顶起问题,因此采纳了网上搜到的" ...

最新文章

  1. 基于深度学习的三维姿态估计
  2. 计算机二级考试题未来教育里占多少,计算机二级笔试试题未来教育版.doc
  3. ie9浏览器两个ajax请求同步不兼容_浏览器拦截问题
  4. pyhanlp 分词与词性标注
  5. 整合rabbitmq+redis发送验证码消息
  6. Edit button clicked in offline mode
  7. C/C++高级算法之绘制曼德布洛特集
  8. 安装Nvida 显示环境
  9. 【Java】总结Integer类的API
  10. 1.6编程基础之一维数组_01与指定数字相同的数的个数
  11. JS单曲调用百度mp3音乐播放器代码
  12. Kubernetes中部署SpringBoot应用
  13. bluecam连接步骤说明_迈拓维距Type-C扩展坞手机连接电视图文教程
  14. PAT 7-14 公路村村通
  15. omp算法求稀疏系数matlab,MP算法、OMP算法及其在人脸识别的应用
  16. 游戏必备组件有哪些_微信抖音小游戏黄金矿工案例详解
  17. leach算法的实现过程_leach算法原理详解
  18. c语言prime函数怎么用_用一个自动关机小程序小试牛刀,玩转C语言System函数,边学边玩...
  19. 浅谈腾讯云IM接入方式(java后端)
  20. 网易严选App感受WEEX 开发

热门文章

  1. 戴尔G3 Java_求救!!!各位买戴尔G3的大哥们,我不小心把环境变量里的pa
  2. Mac Updating Homebrew...卡住了
  3. 掉价最快的手机排行榜_目前掉价最快的三款华为麒麟980旗舰机,最低仅2799元...
  4. 使用画图修改图片的大小
  5. ubuntu分区设置
  6. 卷积神经网络之AlexNet网络详解
  7. java le下载安装_跟老杨学java系列(五) JDK的安装与配置
  8. iOS完美实现微信朋友圈视频截取
  9. 迭代器、装饰器、软件开发规范
  10. 移一代如何在大城市立足