Android 应用开发 图像显示

目录

1.图像视图 ImageView

2.图像按钮 ImageButton

3.同时展示文本与图像


1.图像视图 ImageView

显示文本用到了文本视图TextView,显示图像则用到图像视图ImageView。由于图像通常保存为单独的图片文件,因此需要先把图片放到res/drawable目录中,然后再去引用图片的资源名称。ImageView默认居中显示,不管图片大或者还是小,图像视图会自动缩放图片,使之刚好够着ImageView的边界,并且缩放后的图片保持原始的宽高比例,看起来图片完美占据了视图中央。这种缩放类型在xml文件中通过属性android:scaleType定义,即使图像视图未明确指定该属性,系统也会默认其值为fitCnter,表示让图像缩放后居中显示。

xml设置方法

    <ImageView
        android:id="@+id/iv_scale"
        android:layout_width="match_parent"
        android:layout_height="220dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/apple" />

java设置方法

iv_scale = findViewById(R.id.iv_scale);
iv_scale.setImageResource(R.drawable.apple); // 设置图像视图的图片资源

添加缩放属性的ImageView标签如下:

    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:src="@drawable/sqrt"
        android:scaleType="fitCenter" />

在Java代码中可调用setScaleType方法设置图像视图的缩放类型,其中fitCenter对应的类型为ScaleType.FIT_CENTER,设置代码如下

iv_scale.setScaleType(ImageView.ScaleType.FIT_CENTER);

缩放类型的取值说明

注意,fitCenter是默认的缩放类型,fitCenter既允许缩小图片,也允许放大图片,centerInside只允许缩小图片,不允许放大图片,而center自始至终保持原始尺寸。因此,当图片尺寸大于视图宽高,centerInside与fitCenter都会缩小图片,此时他两显示效果相同;当图片尺寸小于视图宽高,centerInside与center都保持图片大小不变,此时它俩的显示效果相同。

2.图像按钮 ImageButton

ImageButton继承于ImageView。ImageButton和Button区别如下:

  1. Button既可以显示显示文本也可以显示图片,通过setBackgroundResource方法设置背景图片,而ImageButton只能显示图片不能显示文本。
  2. ImageButton上的图像可按比例缩放,而Button通过背景设置的图像会拉伸变形,因为背景采用fitXY方式,无法按比例缩放。
  3. Button只能靠背景显示一张图片,而ImageButton可分别在前景和背景显示图片,从而实现两张图片叠加的效果。

3.同时展示文本与图像

想在文字周围放置图片,使用Button就能实现,Button提供了几个与图标有关的属性,通过这些属性可以指定文字旁边的图标。

  • drawableTop:指定文字上方的图片
  • drawableBottom:指定文字下方的图片
  • drawableLeft:指定文字左边的图片
  • drawableRight:指定文字右边的图片
  • drawablePadding:指定图片与文字的间距
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_gravity="center"
        android:drawableLeft="@drawable/ic_about"
        android:drawablePadding="5dp"
        android:text="图标在左"
        android:textColor="#000000"
        android:textSize="17sp" />

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值