Flutter Pokedex项目模拟器中图片无法显示求助
Pokedex应用图片不显示问题排查方案
针对你遇到的模拟器中看不到图片的问题,给你几个新手友好的排查和解决步骤:
确认图片资源存放位置
检查图片是否放在res/drawable(或对应分辨率的drawable-hdpi/drawable-xhdpi等)目录下。如果是放在assets文件夹,需要用AssetManager来加载;如果是网络图片,要确保后续步骤的网络配置正确。核对图片引用的正确性
Android资源文件名是大小写敏感的,比如Charmander.png和charmander.png会被识别成两个不同的资源。- 布局文件中要确保
android:src="@drawable/你的图片名"没有拼写错误 - 代码里调用
setImageResource(R.drawable.你的图片名)时,名称也要完全匹配
- 布局文件中要确保
配置网络权限(若加载网络图片)
如果你的Pokemon图片是从网络获取的,必须在AndroidManifest.xml中添加网络权限:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />要是你的接口用的是HTTP协议(不是HTTPS),Android 9及以上默认会拦截明文请求,需要额外配置:
- 在
res/xml目录下新建network_security_config.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>- 在
AndroidManifest.xml的<application>标签里添加:android:networkSecurityConfig="@xml/network_security_config"
- 在
清理缓存并重新构建项目
Android Studio的缓存偶尔会导致资源不生效,按以下步骤操作:- 点击顶部菜单栏
Build->Clean Project - 清理完成后点击
Build->Rebuild Project - 重启模拟器,重新运行应用
- 点击顶部菜单栏
检查模拟器网络状态(网络图片场景)
打开模拟器自带的浏览器,随便访问一个网页,确认网络能正常连接。如果连不上,重启模拟器的网络或者检查电脑的网络是否正常。验证图片加载框架配置(如果用了Glide/Picasso)
要是项目里用了第三方图片加载库,先确认依赖有没有正确添加。比如Glide的依赖要放在build.gradle(Module级别)的dependencies块里:implementation 'com.github.bumptech.glide:glide:4.16.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'同时代码里的调用要正确,比如:
Glide.with(this).load("图片URL或R.drawable.xxx").into(你的ImageView);
内容的提问来源于stack exchange,提问作者Alihan Tayçu
相关产品推荐
相关产品推荐

