2012-03-21 173 views
11

谁能告诉我为什么下面的代码不工作?该图像根本没有出现。Android ImageView不显示图像?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 

    <ImageView 
      android:src="@drawable/splashscreen" 
      android:scaleType="center" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

</RelativeLayout> 
+0

RelativeLayout没有定位..... – 2015-01-06 04:06:44

+0

如果你在Android Api 21或更低版本运行应用程序,它是一个常见的问题。主要是因为你使用高分辨率,大尺寸的图像。我建议你调整大小,缩小图像。 – emiraslan 2017-03-30 15:54:43

回答

2

您可绘制文件的格式是什么? Android主要使用.PNG

+0

你想要使用图像的目的是什么?你想做闪屏或其他?大多数图像是在PNG format.try和检查 – Google 2012-03-21 04:20:39

+0

图像是.PNG格式。是的,这是一个闪屏,我只是想在黑屏的中心显示这个图像(当我检查服务器的更新等) – comead 2012-03-21 11:41:30

+0

图像是大?或者它需要实现到你的java文件?如果你想将它集中,你可能想用Gravity来做到这一点。 – Kurty 2012-03-21 17:23:33

0

空位图=不可用的图像。

这是如何实际使用图像的基础。当在android中使用图像并分配它时,它实际上会将图像转换为位图,并且根据某些参数的大小和各种其他因素,它可能会失败,这会导致图像被转换并返回为空发生一些故障。

-1
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:src="@drawable/ic_launcher" /> 

</LinearLayout> 
1

检查以下内容:

  1. 你调用setContentView(你的闪屏)在UI线程上
  2. 是否有其他活动(或意见),你显示太快你的启动画面后(即取消启动画面setContentView)?
  3. ImageViewlayout_heightlayout_width上尝试使用match_parent而不是wrap_content。
-1

许多与图像有关的问题可以通过使用第三方库来解决,例如杰克·沃顿的毕加索。我有不明原因的图像加载问题,有时甚至出现内存不足错误。这是由成像编辑(使用Mac版GIMP)特别引起的。毕加索做处理内存和缓存所需等艰苦的工作

http://square.github.io/picasso/

+0

问题的关键在于图像未被显示。毕加索的目的是完全不同的 – 2015-11-24 20:32:56

8

你在哪里把源图像文件?那是在Drawable文件夹下面吗?如果是这样,则为图像创建mdpi,hdpi,xhdpi,xxhdpi图像源,并将它们放入mdpi,hdpi,xhdpi,xxhdpi文件夹中。

+0

嗯,我只是注意到,将图像放入anydpi文件夹将无法工作 – HendraWD 2017-08-03 11:01:39

5

这是在检查布局xml,主题等后为我工作的解决方案。只需将您的java类中的“extends Activity”更改为“extends AppCompatActivity”即可。

如果以前的某些建议解决方案适用于您,其他与ImageView图像相同问题的用户也可能会尝试此操作。

+0

这对我来说,但仍然,为什么会发生? – user4052054 2017-05-31 14:17:14

15

在我的情况下,当我运行我的应用程序时,我的所有片段的imageViews都不显示。问题是,我从“FragmentActivity”扩展我的“活动”类。所以我只是改变它“FragmentActivity”到“AppCompatActivity

也许这将帮助别人。

+1

我有这种确切的情况。将我的'Activity'改为'AppCompatActivity'而不是'FragmentActivity'完美运作。也没有影响功能。 – WeskerTyrant 2017-06-07 15:43:32

0

不要自己创建绘制文件夹。在Android Studio中使用Image Asset选项重新创建它。

在我的情况下,问题是可绘制的文件夹本身。我自己创建了可绘制的文件夹。这是不正确的。在android studio中,我们应该使用Image Asset选项创建可绘制的文件夹。我没有得到理由,但现在问题得到解决。

0

在我的情况下,从图像列表中选择图像时图像不可见。

重建项目修复了我。

建设 - >重建项目

-1

我有同样的问题。我真的不敢相信它有多简单。虽然这可能不是你的问题,但这对我来说是固定的。我的图像文件被命名为 ss-logo.png。 Android Studio不允许在图像文件中使用破折号。一旦我将其更改为ss_logo.png,它完美运行。仅在图像文件名中使用字母,数字和下划线。希望这可以帮助。

0

请检查您的图像颜色...如果您使用的是白色背景,并且如果您使用白色图像,则不会显示它...尝试将图像的背景容器更改为某种其他颜色或更改你的图像颜色。我真的面临这种情况,并浪费了很多时间...我希望这会帮助别人...