Android Studio中如何引用图片资源

本文深入探讨了Android Studio与Eclipse在图片资源管理上的差异,特别是mipmap与drawable的区别及使用方法,提供了性能优化的视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随着不断接触Android Studio,越来越发现和Eclipse有着巨大的区别。无论是表面的目录结构,还是内在对各种资源的管理。本篇就来聊聊Android Studio中如何来显示图片, 以及与Eclipse中的区别。

在Eclipse中根据图片的像素大小把,png或.jpg的图片放在drawable文件夹下,如drawable-hdpi,drawable-ldpi,drawable-mdpi,drawable-xhdpi,drawable-xxhdpi.同一张图片放在不同的drawable文件夹下,显示的时候会有所不同。但是在xml中引用的时候是一样的:android:src=@drawable/pic 或者android:background=@drawable/pic .


 

但是来到Android Studio中就不一样了,发现没有这么多的drawable目录了,而只有一个drawable文件夹。取而代之的是出现了很多mipmap文件夹,如mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi,mipmap-xxhdpi.如图所示:

 

首先尝试把图片放在drawable中,然后在xml中使用android:src=@drawable/pic 或者android:background=@drawable/pic .使用,发现没有问题,完全可以显示。但是为什么有这么多mipmap呢?

Google官方的解释是性能优化,占用内存小等等(自己百度mipmap的概念。。),总之mipmap这个形式比drawable好。So,推荐我们在Android Studio中使用mipmap。那好,我们把图片放在mipmap文件夹下,那怎么在xml中使用呢?

 

?
1
android:src= @mipmap /pic
非常类似图片放在drawable中的引用方式,也是使用@来引用。所以这也是非常简单的,不同像素的mipmap文件夹图片都是一样的使用。但是注意:在AS中,同一张图片放在drawable文件夹下和放在mipmap文件夹下显示效果是不一样的,在大小,缩放,像素上都可能有所差异,大家可以自己写个例子尝试一下,这里就不给贴图了。把Android Studio和Eclipse比较着学习,他们是既相似又有区别的。
Android Studio引用图片通常涉及将图片资源添加到项目的资源文件夹中,并通过R.id、R.drawable或直接使用文件路径访问它们。以下是步骤: 1. **添加图片到res目录**: - 打开项目结构视图(File > Project Structure 或 Ctrl+Shift+Alt+O),选择"Files"选项卡。 - 点击"+"按钮,在弹出的菜单中选择"New" -> "Image Asset",然后按照向导导入图片。 2. **命名资源**: Android Studio会自动生成一个资源ID(例如 `@drawable/your_image_name`)。保持资源名小写、无空格,并遵循标准命名规则。 3. **在布局XML中引用**: - 在XML布局文件(例如activity_main.xml)中,使用`<ImageView>`标签,设置`src`属性为图片资源ID: ```xml <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/your_image_name" /> ``` 4. **从代码中动态加载**: 如果需要在Java或Kotlin代码中动态加载,可以使用`Resources.getDrawable()`方法: ```java ImageView imageView = findViewById(R.id.imageView); Drawable drawable = context.getResources().getDrawable(R.drawable.your_image_name); imageView.setImageDrawable(drawable); ``` 或者使用`AppCompat.getDrawable()`(如果使用的是Material Design兼容包): ```java imageView.setImageDrawable(AppCompat.getDrawable(context, R.drawable.your_image_name)); ``` 5. **注意**: 图片文件应放在`drawable`目录下的子目录(如`drawable-hdpi`, `drawable-mdpi`, `drawable-xhdpi`, `drawable-xxhdpi`, 或 `drawable-vector`,取决于所需的密度)以支持不同屏幕尺寸。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值