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网上资源视频教程源码

避坑指南:vmdk转qcow2镜像时你可能会遇到的5个问题及解决方法

本文详细解析了将VMDK虚拟机镜像转换为QCOW2格式时可能遇到的五大核心问题,特别是启动失败的常见原因及解决方案。内容涵盖格式差异、预处理优化、转换命令详解,并针对根文件系统挂载失败、GRUB引导失败、网卡识别、性能异常等典型故障提供了具体排查与修复步骤,旨在帮助运维人员高效、可靠地完成镜像迁移。

websocket5live的博客 275

Android 开发笔记___图像按钮__imageButton

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

weixin_30820151的博客 719

ESP32-CAM入门教程

ArduinoESP32-CAM下载模块(接上USB就能用,很方便,如果没有买就只有资金用USB-TTL了)如下图两个合在一起如下图。

qq_48778364的博客 3万+

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

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

weixin_34245169的博客 238

免费 AIS船舶轨迹预测 数据集 分享 (可用于长周期轨迹预测)

论文中使用的数据由提供。有关预处理步骤的详细信息,请参阅。

qq_43747519的博客 1万+

12、有杆泵抽油系统:原理、性能与选择

本文全面介绍了有杆泵抽油系统的原理、性能分析和设备选择方法。有杆泵抽油系统广泛应用于石油开采领域,通过地面抽油装置与井下柱塞泵的配合,实现高效、稳定的原油提升。文章详细解析了系统的工作原理、组成结构、光杆运动特性、载荷计算、泵输送能力及功率需求,并提供了抽油装置的选择流程和实际案例分析。此外,还探讨了泵的容积效率影响因素、示功图的作用及系统优化运行的建议,为石油开采工程提供了理论支持和实践指导。

gan8painter的博客 433

Android: ImageView图片组件

Android: ImageView图片组件

javaGHui的博客 632

手机开发实战58——小区广播介绍2

业务 针对小区广播短消息的特点,可以提供一些基于目前短消息不能或不适合提供的服务: 1. 显示网络服务基站名称:用户可以随时了解手机登记在哪个基站下,特别是在边界交叉覆盖区域,用户可以清楚的知道通话建立在哪个基站下,在用户投诉和故障描述中也会有所帮助; 2. 提供用户问候信息:可以在覆盖机场、车站等地区的基站广播一些用户问候语或一些企业形象广告语; 3. 充分利用小区广播地

xjbclz的专栏 772

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

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

m0_63887380的博客 472

C# Winform使用Monaco打造代码编辑器

本文介绍了如何在Winform项目中集成Monaco代码编辑器。通过NuGet安装WebView2控件,创建monaco-editor.html文件加载编辑器,并实现与C#代码的交互。关键步骤包括:初始化WebView2环境、配置Monaco编辑器参数、设置代码变更监听事件以及处理C#与JavaScript之间的通信。注意事项提示了依赖库安装问题的解决方法。该方案实现了功能完整的代码编辑器,支持代码自动保存和实时显示功能。

遇见--专栏 346

【机器学习概率统计】11 贝叶斯统计推断:最大后验

这一节,我们来介绍另外一种统计推断方法:贝叶斯统计推断方法。 1.回顾贝叶斯定理 首先,我们先来复习一下贝叶斯定理: p(Θ∣X)=p(X∣Θ)p(Θ)p(X)p(\Theta|X)=\frac{p(X|\Theta)p(\Theta)}{p(X)}p(Θ∣X)=p(X)p(X∣Θ)p(Θ)​ 在这个简简单单的式子当中,蕴含了我们要掌握的很多重要内容: 贝叶斯定理当中的四个概率表达式,他们都非常重要,在这一节的内容中将反复出现,我们来一一解析一下: p(Θ)p(\Theta)p(Θ):先验分布。 反映的是在

机器学习数学基础系列专栏 3270

ImageButton图片背景的切换

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

s853562285的专栏 1196

080、多轴运动控制:插补器设计(螺旋线插补)

本文分享了螺旋线插补器设计的实战经验。针对五轴点胶机Z轴抖动问题,作者分析了螺旋线数学本质,提出基于归一化时间参数的速度规划方法,强调各轴严格同步的重要性。文章详细介绍了速度分解、加减速处理、嵌入式优化技巧(查表法、定点化),并总结了起点闭合、速度波动、数值处理等常见问题解决方案。最后给出5条实用建议:注重速度规划而非纯数学推导、预先仿真、保留调试接口、考虑机械谐振、防范编码器丢脉冲。通过优化插补周期、电子齿轮比和S形速度曲线,成功将设备良率从60%提升至95%。

m0_50546716的博客 85

C虾仔笔记 - ImageButton图片按钮

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

C虾仔 327

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

动态改变ImageButton背景图片

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

w6028819321的专栏 2340

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

一、按钮(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、付费专栏及课程。

余额充值