Android学习笔记(八):ImageView加载图片与ImageButton图形按钮

ImageView加载网络图片 使用第三方的库Glide加载网络图片 首先去下载一个glide的包 下载地址:https://github.com/bumptech/glide/releases/download/v4.7.0/glide-full-4.7.0.jar 我这里用的是glide-full-4.7.0 下载好之后直接复制到app\lib下面,然后点同步,可能有些小白还是不知道放那个目录,那好,我目录位置的结构图如下:... 阅读详情
AI摘要

本文详细介绍了在Android应用中使用ImageView加载和显示图片的方法,包括XML配置和Java逻辑,以及ImageView的图像缩放功能,特别对比了ImageButton和Button在显示图片和文字的不同之处。

目录

 一、ImageView显示图片

1、xml文件中添加图片

2、java逻辑中设置图片

二、ImageView图像的缩放 

1、matrix

2、fitXY

3、fitStart/fitCenter/fitEnd 

4、center/centerInside/centerCrop

三、ImageButton图形按钮

四、Button实现图片与文字结合的按钮

五、总结


 一、ImageView显示图片

        当我们想在应用中加载显示图片,就可以使用这个模块。首先我们需要有一张图片,并把它放到 app\src\main\res\drawable\ 文件路径下。需要注意的是:图片名称使用全小写字母。比如我的图片名是android.png。

1、xml文件中添加图片

    <ImageView
        android:id="@+id/image_android"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/android" />

        如上代码所示,在xml中,我们添加ImageView模块,设置宽高,以及与上级顶部的间距,然后通过src这个属性添加图片,android就是图片名。效果如下所示

2、java逻辑中设置图片

public class MainActivity extends AppCompatActivity {
    ImageView mImageAndroid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initUI();
    }

    private void initUI() {
        // 注意:添加的图片名不要包含大写字母;
        mImageAndroid = findViewById(R.id.image_android);
        mImageAndroid.setImageResource(R.drawable.android);
    }
}

        如代码所示,先通过findViewById设置布局,然后利用setImageResource(R.drawable.android)加载图片对应的图片。

二、ImageView图像的缩放 

        我们可以通过scaleType属性设置图像的缩放,缩放类型有:

        我认为通过图像比较的方式能让你更容易理解每个类型的含义。代码如下,我设置了两个ImageView模块,一个高度为200dp,一个match_parent;然后设置不同的scaleType。

    <ImageView
        android:id="@+id/image_android"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/android"
        android:scaleType="matrix"/>

    <ImageView
        android:id="@+id/image_android1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="5dp"
        android:src="@drawable/android"
        android:scaleType="matrix"/>

        也可以通过java逻辑实现图片缩放,代码如下

    private void initUI() {
        // 注意:添加的图片名不要包含大写字母;
        mImageAndroid = findViewById(R.id.image_android);
        mImageAndroid.setImageResource(R.drawable.android);
        mImageAndroid.setScaleType(ImageView.ScaleType.MATRIX);
    }

1、matrix

        可以看到,matrix不会改变原图片的尺寸大小,从图片的左上部分开始,只显示ImageView视图大小的内容。

2、fitXY

        从效果来看,fitXY是将图片完整地填充在ImageView视图中,会改变图片的宽高比例。

3、fitStart/fitCenter/fitEnd 

         把这三个属性放在一起比较,会更直观。可以看到,这三种属性以及fitXY都会把图片完整地显示在视图中,只是缩放比例和位置不同。fitXY会根据视图改变图片的宽高比例填充满整个视图;fitStart/fitCenter/fitEnd这三个属性则会根据视图的宽高将图片等比例地缩放,以填充满某个方向,通俗理解就是,在图片不改变宽高比例的前提下,尽可能大的完整地显示在视图中;而后,fitStart会将图片放在视图的左上方;fitCenter会放在视图的中心位置;fitEnd会放在右下方。

4、center/centerInside/centerCrop

         center不会改变图片的大小尺寸,在视图中显示图片居中部分,裁剪掉多余部分,与matrix类似,区别就是显示的部位不同;

        从这里看,centerInside跟fitCenter效果一样,显示完整图像,不改变宽高比,占满某一方向,位置居中;区别就在于,centerInside不可以放大图片,即当图片尺寸小于视图时,就直接将图片位于中心,不进行任何缩放,如下图所示。

        centerCrop可以这样理解,将图片从很大的尺寸等比缩小到某一方向占满视图,其余部分就裁剪掉;

三、ImageButton图形按钮

        这里简单介绍一下ImageButton,它就是一个显示图片的按钮,与Button的区别就是:

1、ImageButton继承与ImageView;

2、Button可以显示图片也可以显示文本,而ImageButton只能显示图片;

3、ImageButton中的图片可以按比例缩放;

4、Button只能设置一张图片,而ImageButton可以设置前景和背景两张图片重叠的效果

    <ImageButton
        android:id="@+id/image_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/android1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/android1"
        android:text="@string/app_name" />

四、Button实现图片与文字结合的按钮

        如上代码以及图所示,可以看到,可以通过Button实现图和文字结合的按钮;图像在文本内容的位置可以通过drawableLeft(左)/drawableRight(右)/drawableTop(上)/drawableBottom(下)等进行设置相对位置。

五、总结

        通过本章学习,我们掌握ImageView显示图片,以及将图片进行各种缩放显示,也简单了解了一下ImageButton,知道它是一个可以显示图片的按钮,了解其与Button的区别,以及通过Button实现图片与文字结合的按钮。

        对于Button和ImageButton,下一章我将利用一个小项目来加深大家对它们的理解和使用。也回顾一下之前学习的内容。

Android ImageButton使用详解(系列教程四) Android ImageButton使用详解。 阅读详情

相关推荐

别再只用Button了!Android ImageButton从入门到精通,搞定状态切换与点击反馈

本文深入探讨Android ImageButton的高级应用,从状态管理到微交互设计,帮助开发者掌握图标按钮的进阶玩法。通过详细的代码示例和最佳实践,讲解如何实现多状态切换、定制Ripple效果以及优化性能,提升应用的用户体验和交互流畅度。

weixin_29239279的博客 103

Android ImageView 加载图片 (含scaleType 属性的详解)

一 ImageView 标签 二 adjustViewBounds属性 三 scaleType 属性的 值

m0_45877477的博客 3074

深入解析Android源码中的ImageButton控件

在构建Android应用时,XML布局文件扮演着至关重要的角色。它们不仅定义了UI的结构,还通过属性的配置使得UI组件拥有丰富的行为和视觉效果。对于ImageButton而言,合理地使用XML布局文件中的属性,可以极大地增强用户交互体验和应用的外观表现力。XML布局文件是Android开发中定义界面的蓝图,每一行代码都对应用的UI产生影响。布局文件通常包含一个根元素,如或等。这些布局容器可以嵌套使用,它们定义了子元素的排列方式。-- 其他UI组件 -->在上述示例中,

weixin_36235398的博客 825

Android:ImageView控件显示图片

1)android显示图片可以使用imageView来呈现,而且也可以通过ImageButton来实现给button添加图片。 2)在创建一个ImageView后,显示图片绑定元素是:android:src="@android:drawable/btn_dialog" 3)后台操作绑定图片函数:imgView.setImageResource(R.drawable.pic0);,其中drawa...

weixin_33825683的博客 1622

Android中ImageButton的用法

android 开发中的高级控件,ImageButton网上资源视频教程源码

802.1x之EAP-TLS测试方法

CA证书一般是由权威的认证机构发出,用来验证该机构签名的证书,持有CA证书的设备可以验证对端的证书是否由自己信任的机构颁发的。在我们内部使用证书时,我没可以自己充当CA认证机构,管理私钥和CA证书,使用他们签名服务器、客户端证书。2、使用证书请求文件server_csr.pem、CA私钥、CA公钥生成服务器证书(正常情况下自己不拥有CA私钥,是把证书请求文件发给认证机构,由认证机构返回证书)进行802.1x EAP-TLS认证时需要IPC、服务器分别存储CA证书、设备证书、私钥,通过交换证书实现身份验证。

写作是为了更好的思考 2163

Android 开发笔记___图像按钮__imageButton

IMAGEBUTTON 其实派生自image view,而不是派生自button。,image view拥有的属性和方法,image button 统统拥有,只是imagebutton有个默认的按钮外观。 image button只能显示图形 imagebutton 上面的图片可按比例拉伸 只能在背景显示一张图形,但分别在前景和背景显示两张图片,实现图片叠加的效果 ...

weixin_30820151的博客 719

Linear超高PSRR线性稳压器-典型应用电路解析

本文整理完了LT3045数据手册内所有的典型应用电路,试图让沉默的电路开口,简单介绍了他们这样做的目的和原理,从中我们可以更加熟悉这颗经典芯片的应用。但也有一些电路并没有搞懂,遗留下了不少问题。

硬件工程师笔记 2940

【自定义Android带图片和文字的ImageButton】

前言 现在移动设备的按钮设计讲究大图标小文字,希望用户只要一看到图标便能知道这个按钮是干嘛的,但又要有必要的文字提示,最常见的就数搜索按钮了,上面一个大大的放大镜图标,下面两个字——搜索。 Bill最近也在做具有这种效果的按钮,过程总是曲折的,不过结果总是美好滴~现在Bill把其做法分享给大家,希望对还不会的朋友有所帮助。 先看看bill曲折的过程吧,也许里面就有你的影子: 最开始...

weixin_34245169的博客 238

破解拼多多网页字体加密的Python实现(静态)

爬取或者复制粘贴出来发现数字不是6372,而是这样的一个东西 ""从上图我们可以看出数字是一行的空白,后面被浏览器渲染后才展现的数字。我们可以用这个代码查看十六位进制对应的十进制,为什么要看十进制呢?​,而字体文件中的字符映射关系(cmap)也是以十进制存储的。我们搜索这个属性我们可以看到第一个这样的属性有一个URL,这个就是解密的字体包。然后我们构造一个这样的映射字典 key就是对应的十进制,后面的值就是对应的数字。然后我们需要封装一个函数,将加密文字和映射字典传入,返回解密后的数字。

weixin_64179111的博客 3539

【超详细】C#的单例模式

本文详细介绍了C#中的单例设计模式,包括两种实现方式:普通类泛型单例(Singleton<T>)和基于MonoBehaviour的组件单例(MonoSingleton<T>)。单例模式通过私有构造、静态私有实例和公共访问入口确保全局唯一实例,具有节省资源、保证数据一致性等优势。文章分别阐述了两者的核心原理、代码实现、使用场景及注意事项,并提供了日志管理器和音效管理器的具体应用示例。特别强调了多线程安全、初始化时机和避免过度使用等重要原则,为Unity开发中合理运用单例模式提供了全面指导。

grapefruit_lyy的博客 1533

Android: ImageView图片组件

Android: ImageView图片组件

javaGHui的博客 632

matlab 点云学习目录【2026最新版】

matlab 点云学习目录。博客长期更新,本文最近更新时间为:2026年6月15日。

点云侠的博客 3万+

按钮、图像视图与图像按钮

【代码】按钮、图像视图与图像按钮。

m0_63887380的博客 472

智能车图像处理19-进阶篇11--斜入十字补线

这篇文章主要讲述智能车竞赛中如何对于斜入十字进行补线操作。

taiyuezyh的博客 7482

rk3576 适配摄像头 (mipi 五摄)

在RK3576上实现五路CSI摄像头方案,核心思路是充分复用其视频输入接口,并通过巧妙的软件配置来实现。

weixin_35723192的博客 178

ImageButton图片背景的切换

图形按钮:以图形代表文字,并且可以按照按钮的状态,列入,正常、按下(press)、聚焦(focus),来显示对应的图形文件,又称做自定义按钮· ImageButton图片的切换有多种现在先来说在xml中的切换 在xml实现动态切换使用selector标签,代码如下 http://schemas.android.com/apk/res/android     

s853562285的专栏 1196

西安交通大学软件学院——分布式系统练习题(综合题)

摘要:本文探讨了分布式系统的核心特性与关键问题。首先阐述了分布式系统的8种透明性特性,包括访问、定位、迁移等。然后通过具体案例分析了分布式事务的回滚机制、域名解析的迭代与递归过程、不同分布式系统的异同比较。重点讨论了RPC通信中客户端/服务器崩溃的处理方法,包括消灭、再生和到期三种策略。最后介绍了Lamport时间戳算法在进程通信中的应用及问题解决方案。全文涵盖了分布式系统设计中的透明性、可靠性、一致性等核心问题。

qq_73044452的博客 204

C虾仔笔记 - ImageButton图片按钮

■ImageButton图片按钮概述:具备了ImageView属性的按钮,         插入图片的位置处理功能比Button的多样。         但是不能像Button一样具备显示文字的效果,         除非文字在图中(也不能更改图中固定的文字,除非换图)。         目前开发中,大多数人都喜欢用ImageView作为按钮来替代ImageButton,也可以避免一些不必要的监听...

C虾仔 327

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android应用程序开发期末大作业(2)

(3)用imageView和imagebutton及activity在界面上实现图片浏览新建android项目如AI03,在项目的/AI03/src/com/example/ai03/MainActivity.java文件写下如下代码,注意包名和图片存放的位置!图片存放目录位置为/AI03/res/drawable-hdpipackage com.example.ai03; import and...

都随它大小便吧 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

动态改变ImageButton背景图片

在应用中,用到ImageButton时,可能需要在不同的点击状态时,更改ImageButton的背景图片。这可以通过程序添加监听事件 来完成,但相对来说较为麻烦,还可通过selector来完成。 1.在drawable文件夹下创建一xml文件,名称随意,但一定要在drawable下,如my_button_background.xml 内容如下: android:

w6028819321的专栏 2340

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

常用控件——按钮、图像视图与图像按钮

一、按钮(Button): 1、Button(按钮)继承自TextView,在Android开发中,Button是常用的控件,用起来也很简单,你可以在界面xml描述文档中定义,也可以在程序中创建后加入到界面中,其效果都是一样的。 2、常用属性:text、textSize、textColor、onClick(用于绑定事件处理方法) 3、按钮基本使用方法:程序中可以通过如下形式获得按钮:butt...

qq_43127306的博客 1334

Android简单控件的使用

控件是界面组成的主要元素,用户直接与控件进行交互。 TextView控件用于显示文本信息。 Button Button控件表示按钮,它继承自TextView控件,既可以显示文本,又可以显示图片,同时也允许用户通过点击来执行操作,当Button控件被点击时,被按下与弹起的背景会有一个动态的切换效果,这个效果就是点击效果 。 Button控件点...

VCLife 1062

图像按钮ImageButtom

图像按钮ImageButton

WXD1234Q的博客 160

阅读《Android 从入门到精通》(7)——图片按钮

图片按钮(ImageButton) ImageButton 属于 Widget 包并且继承 android.widget.ImageView; 我们一般使用 android:src 属性或 setImageResource() 方法指定 ImageButton 显示的图片,其实质和 MFC 的 CBitmapButton 异曲同工; ImageButton 只定义了一个方法 onSetAlp

SweetLoveFT的专栏 941

记录学习Android基础的心得08:常用控件(中级篇)P1

文章目录前言一、图像类视图1.图形基础2.图像视图3.图像按钮补充:表格布局二、列表类视图1.列表视图2.可展开的列表视图3.循环视图 今日长缨在手,何时缚住苍龙?–《清平乐·六 盘 山》 前言 本文继续总结Android中常用的控件,是对前面常识篇和基础篇的进一步补充,内容包括图像类视图,列表类视图,对话框,翻页类视图,视频视图,表面视图,纹理视图。关于控件的学习,首先要有个感性的认识,要知道它长啥样,会将数据以何种视觉效果呈现给用户,其次才是学习它的使用方法。本文的风格和前面的文章类似,总结控件

YQYUN的博客 701
上一篇: Android学习笔记(七):按钮Button的常用方法
下一篇: Android学习笔记(九):练习项目-简易计算器
CJ_study92
博客等级 码龄5年 143粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值