玩转Android drawable图片适配

众所周知,Android机型众多,屏幕尺寸、分辨率各有不同。对于Android开发人员来说,如何提高APP中图片对各种机型的适配是基本技能之一。借着项目中遇到的图片适配问题,在总结项目时,就想着顺带把这部分好好捋一捋,作为一个记录,也为不是很清楚这部分的人提供一个参考。

先说mipmap

采用Android Studio开发Android APP,在项目的res目录下,会多出几个以mipmap开头的文件夹。

mipmap文件夹

根据Android官方的描述,mipmap仅仅用于存放APP启动图标,可由Image Asset Studio生成。Image Asset Studio会生成mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi五种尺寸的图标。图标最好不要随意定义尺寸,分辨率过低会模糊,过高徒增APK包大小。各种密度下的图标建议尺寸为

密度 建议尺寸
mdpi 48*48
hdpi 72*72
xhdpi 96*96
xxhdpi 144*144
xxxhdpi 192*192

如果要上传到Google Play,还需要一张512*512的图片用于Google Play Store。

再说drawable图片适配

Android系统可以在具有不同屏幕尺寸和密度的设备上运行,并将每个应用的用户界面调整为适应其显示的屏幕,会进行缩放和大小调整。为了最大程序优化更多设备上的用户体验,开发者需要针对不同的屏幕尺寸和密度优化应用。对于Android智能手机来说,屏幕大小、分辨率、密度均不尽相同,那么图片适配就成了Android中优化应用必不可少的环节之一。

相关概念

  • dpi
    每英寸点数,全称dots per inch。用来表示屏幕密度,即屏幕物理区域中的像素量。高密度屏幕比低密度屏幕在给定物理区域的像素要多。

  • dp
    即dip,全称device independent pixel。设备独立像素,是一种虚拟像素单位,用于以密度无关方式表示布局维度或位置,以确保在不同密度的屏幕上正常显示UI。在160dpi的设备上,1dp=1px。

  • density
    设备的逻辑密度,是dip的缩放因子。以160dpi的屏幕为基线,density=dpi/160。

    getResources().getDisplayMetrics().density

  • sp
    缩放独立像素,全称scale independent pixel。类似于dp,一般用于设置

  • 25
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: 在Android中,可以通过将图片文件添加到drawable文件夹中来添加图片。首先,在项目的res文件夹中找到drawable文件夹,然后将图片文件拖放到该文件夹中。接下来,在代码中使用R.drawable.文件名来引用该图片。例如,如果文件名为image.png,则可以使用R.drawable.image来引用该图片。 ### 回答2: 在Android中,drawable是一个虚拟的文件夹,用于存放各种图片资源。通过在drawable文件夹中添加相应的图片,可以为应用程序提供图形和样式。 以下是在Android中添加drawable图片的步骤: 1.在res文件夹下创建一个新的drawable文件夹。 2.在drawable文件夹中添加相应的图片,可以通过拖放图片或者将图片从文件夹中复制和粘贴到drawable文件夹中。 3.为了在应用程序中使用drawable图片,需要在XML文件中设置相应的属性。例如,如果要在应用程序中使用一个名为“my_image”的图片,可以将以下代码添加到XML文件中: ``` <ImageView android:id="@+id/my_image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/my_image" /> ``` 4.在Java代码中使用drawable图片,可以使用以下代码: ``` ImageView imageView = findViewById(R.id.my_image_view); imageView.setImageResource(R.drawable.my_image); ``` 通过以上步骤,就可以在Android应用程序中添加drawable图片,并使用这些图片为应用程序提供图形和样式。 ### 回答3: 在Android开发中,我们经常需要在应用程序中添加图片资源。在Android中,我们可以很方便地将图片资源添加到drawable文件夹中,然后使用它们。 1.创建drawable文件夹 首先,在Android Studio中创建一个新项目。然后,右键单击“app”文件夹,选择“New” > “Directory” > “Drawable” 。如果没有看到“Drawable”,可以选择“Res Folder” > “New Res Folder” > “Drawable”来创建文件夹。 2.将图片添加到drawable文件夹中 将图片拖放到drawable文件夹中。可以拖动多个图像以一次性添加它们。请注意,在添加图像之前,请先将图像文件命名为小写字母,确保其与其他文件区分开来。 3.使用drawable图片 Android会自动将资源文件识别为drawable图片,并且可以使用它们来显示图像。在布局XML文件中,可以通过以下方式使用drawable图片: <ImageView android:id="@+id/image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/image_name" /> image_name为在drawable目录中添加的图像的名称。 另外,在java代码中也可以使用drawable图像。例如: ImageView imageView = (ImageView) findViewById(R.id.image_view); imageView.setImageDrawable(getResources().getDrawable(R.drawable.image_name)); 通过getImageDrawable()方法获取Drawable图像,并将其设置为ImageView的图像。 除了使用图片drawable文件夹还可以用作其他资源的存储位置,例如颜色、形状(Shape)、布局(Layout)和动画(Animation)等。 总之,在Android开发中,drawable是一个非常方便的工具,可以方便地添加各种文件类型的资源,并在应用程序中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值