添加ImageView会导致黑屏

时间:2013-07-05 10:36:22

标签: android

我遇到了问题:当您尝试将ImageView添加到LinearLayout时,某些图像未加载,程序因黑屏而停止。图片JPG或PNG没有区别。试图将100x100px的大小更改为1080x1920。如果我替换另一张图片然后一切都很好,但我需要这张照片。我把异常放到这个代码中,但是在logcat中什么都没有,即不会发生异常。 请帮我。谢谢。

for (int i = 0, lenI = anims.length; i < lenI; i++ ) {
     try {
          LinearLayout linearLayout = new LinearLayout(this);
          linearLayout.setOrientation(LinearLayout.HORIZONTAL);

          //add image
          ImageView imageView = new ImageView(this);
          linearLayout.addView(imageView);
          int resId = getResources().getIdentifier("ru.romston.testprog:drawable/"+pics[i], null, null);
          imageView.setImageResource(resId);
          imageView.setMaxHeight(100);
          imageView.setMaxWidth(100);
          imageView.setPadding(5,5,5,5);
          imageView.setAdjustViewBounds(true);

          //label
          TextView textView = new TextView(this);
          linearLayout.addView(textView);
          textView.setText(anims[i]);

          layout.addView(linearLayout);
          } catch (Exception e) {
              Log.e(TAG, "read data: error!" + e.getMessage(), e);
          }
 }

2 个答案:

答案 0 :(得分:0)

我认为图像具有更高的分辨率/尺寸,Android渲染系统无法将其缩放到100的高度和宽度。在更改图像大小/分辨率后尝试使用相同的图像。 如果错误请更正。

答案 1 :(得分:0)

select a.id, a.name, count(pb.id) as pcount from authors as a inner join parent_books pb on pb.authors::UUID[] @> ARRAY[a.id] group by a.id UNION select a.id, a.name, count(ib.id) from authors as a inner join individual_books ib on ib.authors::UUID[] @> ARRAY[a.id] group by a.id 的分辨率限制基于OpenGL。如果位图或图像通过此极限分辨率,则会显示黑屏,并且不会出现错误。

您可以通过查询OpenGL来检索此限制:

ImageView

有关更多详细信息,请参见this answer