如下所示,这是Android Studio展示的内容:
然而,当我在手机上运行这个应用程序时,列表视图只显示一个空白图像(即 - 空格),其上方是“彩虹上的某个地方”。
列表视图工作正常。它由一个图像视图和两个文本视图组成。 (如果有帮助,此图像视图正常工作)。如果其中任何一个可能会干扰,那么我会在这里发布代码,但我觉得很难相信。
我不确定的一件事是,在单独的xml文件中为列表视图定义单元格时是否可以使用相对视图。我不明白为什么不是,但这是我唯一能想到的。
基本上Android工作室显示一切正常但在手机/模拟器上并非如此。因此,我发现很难找到问题。
我是Android开发界的新手,所以对我很轻松。
修改
图像为.png格式,位于drawable文件夹中。我在drawable文件夹中还有另一个.png图像,似乎没有任何问题。为什么会这样?原始图像显然没有损坏,因为它显示在Android Studio
中解
由于尺寸
,必须将图像移动到“mipmap-xxhdpi”文件夹答案 0 :(得分:22)
我偶然发现了同样的问题并找到了以下答案: (来源:https://stackoverflow.com/a/40397892/7614252)
我所做的工作是将文本选项卡中指定的自动键(通过拖放ImageView填充)从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" />
答案 1 :(得分:11)
我今天发现了同样的问题。因此,首先检查图像的高度和宽度,并根据它将图像放入不同的可绘制文件夹。即如果图像尺寸为1280 x 840,则将图像放入drawable-xxhdpi文件夹中。
答案 2 :(得分:3)
我最近有同样的问题,你能检查它在哪个文件夹。对我来说问题是把它放在drawable文件夹里,而它应该是drawable-nodpi
还说明您遇到此问题的设备是多个设备吗?
Image not appearing on HTC One M8
以下是相关答案。
答案 3 :(得分:2)
我可以确认,在查看图像时,可以在三星Galaxy S4上将更大的图像放入更高的HDPI文件夹。
我遇到的问题是较高HDPI的drawable文件夹不存在。
但是,如果您创建一个新文件夹并将其命名为drawable-xxhdpi
或
drawable-(whateverxxxhdpi)
,将其放在[path to your project folder]\app\src\main\res\
中,然后将图片放在那里,它应该有用。
答案 4 :(得分:1)
之前提出了一个重复的问题(我没有足够的要点将上面的问题标记为副本)here而Lukap建议将drawable放入drawable-hdpi文件夹中。 Apparently使用三个可绘制文件夹(-hdpi,-mdpi,-ldpi)曾经是标准做法。
虽然将图片放入任何mipmap文件夹中对我来说也很有用(当然然后将android:src="@drawable/image"
更改为android:src="@mipmap/image"
),但App Resources的Android Developer页面说明了mipmap资源适用于“不同启动器图标密度的可绘制文件”。因此,将启动图标以外的图像放在mipmap文件夹中似乎可以正常工作,但不遵循Android惯例。
在我看来,当在唯一可用的drawable /文件夹中时,图像无法显示的错误,因为其他人建议使用drawable文件夹来处理非app图标的所有图像。在提供资源的Android开发者页面上,有一节讨论Android使用selecting the best matching resources的方法,其中使用了几个可绘制资源可用的示例。
为了演示Android如何选择替代资源,请假设 以下可绘制目录每个包含不同版本的 相同的图片:
可绘制/
绘制恩/
抽拉-FR-RCA /
绘制烯端口/
绘制烯notouch-12键/
抽拉口-LDPI /
drawable-port-notouch-12key /并假设以下是设备 配置:
Locale = en-GB
屏幕方向=端口
屏幕像素密度= hdpi
触摸屏类型=凹槽
主要文本输入法= 12key通过将设备配置与可用替代方案进行比较 资源,Android从drawable-en-port选择drawables。
如果只有一个drawable /文件夹,你会认为android“logic”会选择唯一可用的drawable资源。
答案 5 :(得分:1)
如果您使用android:src
或app:srcCompat
使用android:background
代替:
android:background="@drawable/your_image"
答案 6 :(得分:1)
我遇到了类似的问题。我的图像显示在图像上,但未显示在我的Android设备上...
我改变了
tools:srcCompat="@drawable/ic_wifi"
并替换为
app:srcCompat="@drawable/ic_wifi"
答案 7 :(得分:1)
我有类似的问题,但这是我添加到清单文件中的内容
<application
//this solve it for me.
android:hardwareAccelerated="false"
// Add this if the previuos line didn't solve the problem
android:largeHeap="true"
android:theme="@style/AppTheme">
答案 8 :(得分:0)
我遇到了这个问题,我通过在imageView xml代码中添加它来解决它
android:adjustViewBounds="true"