在Android Studio中显示图像,但不在手机上显示
如下所示,这是Android Studio所展示的内容: 然而,当我在手机上运行这个应用程序时,列表视图会显示一个空白图像(即,一个空格),上面应该是“彩虹上的某个地方” 列表视图工作正常。它由一个图像视图和两个文本视图组成。(如果有帮助,此图像视图正在工作)。如果有任何干扰,我会在这里发布代码,但我觉得很难相信 我不确定的一件事是,在单独的xml文件中为列表视图定义单元格时,是否可以使用相对视图。我不明白为什么不能,但这是我唯一能想到的 基本上,Android studio展示了一切工作,但在手机/模拟器上并非如此。因此,我觉得很难找出问题所在 我是Android开发领域的新手,所以对我放松点 编辑 图像为.png格式,位于drawable文件夹中。我在drawable文件夹中还有另一个.png图像,看起来没有问题。为什么会这样?在Android Studio中显示的原始图像显然没有损坏 解决方案在Android Studio中显示图像,但不在手机上显示,android,listview,imageview,Android,Listview,Imageview,如下所示,这是Android Studio所展示的内容: 然而,当我在手机上运行这个应用程序时,列表视图会显示一个空白图像(即,一个空格),上面应该是“彩虹上的某个地方” 列表视图工作正常。它由一个图像视图和两个文本视图组成。(如果有帮助,此图像视图正在工作)。如果有任何干扰,我会在这里发布代码,但我觉得很难相信 我不确定的一件事是,在单独的xml文件中为列表视图定义单元格时,是否可以使用相对视图。我不明白为什么不能,但这是我唯一能想到的 基本上,Android studio展示了一切工作,但
由于大小的原因,我不得不将图像移动到“mipmap xxhdpi”文件夹中。我最近遇到了同样的问题,您能检查一下它在哪个文件夹中吗。对我来说,问题是把它放在可绘制的文件夹中,而它应该是可绘制的 请说明您看到的是什么设备出现此问题,这是多个设备吗
以下是相关的答案。我今天发现了同样的问题。所以,首先检查图像的高度和宽度,并在此基础上将图像放入不同的可绘制文件夹。i、 e如果图像大小为1280 x 840,则将图像放入可绘制的xxhdpi文件夹。我可以确认,在查看图像时,将更大的图像放入更高的HDPI文件夹对三星Galaxy S4有效 我遇到的问题是,高HDPI的可绘制文件夹不存在。 但如果您创建一个新文件夹并将其命名为
drawable xxhdpi
或
drawable-(whateverxxxhdpi)
,将其放在[项目文件夹路径]\app\src\main\res\
中,然后将图像放在那里,它应该可以工作。我遇到了这个问题,我通过在imageView xml代码中添加它解决了这个问题
android:adjustViewBounds="true"
之前有人问了一个重复的问题(我没有足够的分数将上面的问题标记为重复问题),Lukap建议将可绘制文件放入可绘制的hdpi文件夹中,这对我很有用。使用三个可绘制文件夹(-hdpi、-mdpi、-ldpi)曾经是标准做法 虽然将图像放入任何mipmap文件夹也对我有用(然后当然将
android:src=“@drawable/image”
更改为android:src=“@mipmap/image”
),但的android开发者页面说mipmap资源用于“不同启动器图标密度的可绘制文件”。所以,在mipmap文件夹中放置除启动图标以外的图像似乎可行,但并不符合Android惯例
在我看来,在唯一可用的drawable/文件夹中,图像不显示似乎是一个错误,因为其他人建议对所有非应用图标的图像使用drawable文件夹。在提供资源的Android开发者页面上,有一节讨论了Android使用示例的方法,其中有几个可绘制的资源可用
为了演示Android如何选择替代资源,假设
以下可绘制目录分别包含不同版本的
相同的图像:
可提取的/可抽出式en/
可抽出式fr rCA/
可抽出式en端口/
drawable-en-notouch-12key/
可抽出式端口ldpi/
可拔取式-port-notouch-12键/ 假设以下是设备 配置: 语言环境=英语GB
屏幕方向=端口
屏幕像素密度=hdpi
触摸屏类型=不触摸
主文本输入法=12键 通过将设备配置与可用的备选方案进行比较 资源,Android从drawable en端口选择drawable
如果只有一个可绘制/文件夹,您可能会认为android“逻辑”将选择唯一可用的可绘制资源。我偶然发现了相同的问题,并找到了以下答案: (来源:) 我所做的是将分配的自动键(通过拖放图像视图填充)从
app:srcCompat=“@drawable/logo”
更改为android:src=“@drawable/logo”
文本选项卡,使其同时出现在模拟器和设备上,例如
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="75dp"
android:id="@+id/logoImageView"
android:scaleType="fitXY"
android:scaleX="1.5"
android:scaleY="1.5" />
如果您使用
android:src
或app:srccomat
请改用android:background
:
android:background="@drawable/your_image"
我也有类似的问题。我的图像显示在图像上,但没有显示在我的android设备上 我变了
tools:srcCompat="@drawable/ic_wifi"
并将其替换为
app:srcCompat="@drawable/ic_wifi"
我也有类似的问题,但这是我添加到清单文件中的内容
查看我的答案,如果这不是解决方案,请提供更多信息。应显示图像,而不考虑您的可绘制文件夹。可能还有其他问题。请提供更多信息或发布您的代码。这不是很有帮助,请提供XML布局“无论您的可绘制文件夹如何,都应显示图像”。这似乎不是真的。我对它进行了广泛的测试,如果它“尺寸过大”或者“可拉伸”并且非常大,它就不会显示(比如在便笺上)。使用“drawable nodpi”似乎可以让它像在普通操作系统上一样工作——它实际上可以绘制它。感谢您的快速回答。图像确实位于“drawable”文件夹中。它是png格式。我在“drawable”文件夹中还有另一个图像,也是png格式。然而,这一条似乎有效。所以问题一定是图像。但是这有什么意义呢?我有同样的东西,只有一个图像是不正确的