Java ImageView显示在模拟器上,但不显示在设备上。设备上的图像不可见

Java ImageView显示在模拟器上,但不显示在设备上。设备上的图像不可见,java,android,xml,android-studio,Java,Android,Xml,Android Studio,我的问题 我有一些动态创建的ImageView,其中放置了一个可绘制的(xml向量,SVG)。android emulator上的一切似乎都正常,但当我在手机上加载应用程序时,却看不到任何图像。我知道图像在那里,因为如果我增加它的大小,左边右边的视图会移到一边。所以有一个图像 我尝试过的 检查手机的内存 对ImageView使用android:src和app:sourceCompat 将可绘制转换为位图 加载另一个图像(在另一个窗口中运行良好) 将可绘制文件放在另一个可绘制文件夹中 将布局类型

我的问题
我有一些动态创建的ImageView,其中放置了一个可绘制的(xml向量,SVG)。android emulator上的一切似乎都正常,但当我在手机上加载应用程序时,却看不到任何图像。我知道图像在那里,因为如果我增加它的大小,左边右边的视图会移到一边。所以有一个图像

我尝试过的

  • 检查手机的内存
  • 对ImageView使用android:src和app:sourceCompat
  • 将可绘制转换为位图
  • 加载另一个图像(在另一个窗口中运行良好)
  • 将可绘制文件放在另一个可绘制文件夹中
  • 将布局类型从RelativeLayout更改为LinearLayout
  • 阅读所有类似的帖子。。。没有人能解决我的问题:(


我的类RankingDialog从AlertDialog.Builder扩展而来
我的布局是相对的,但我不认为这会引起问题

创建视图


for(int i=0;i
----------
仿真器(应该是什么样子)



它在任何真实设备上的外观…

我在这里被困了几个星期。我不明白为什么会发生这种事……

我将感谢您提供的任何帮助

屏幕大小不同的可能问题。添加两个输出的ss。问题已编辑!为什么不使用?请尝试在此处发布您的xml什么是
imageParams
for (int i = 0; i < LocalNames.size(); i++){
        LinearLayout layout = new LinearLayout(context); 

        layout.setLayoutParams(layoutParams);

        TextView position = new TextView(context);
        TextView name = new TextView(context);
        TextView record = new TextView(context);

        position.setTypeface(font);
        name.setTypeface(font);
        record.setTypeface(font);

        position.setText(i+1 + ".");
        position.setGravity(Gravity.CENTER);
        name.setGravity(Gravity.CENTER);
        record.setGravity(Gravity.CENTER);
        position.setLayoutParams(tvPosParams);
        layout.addView(position);

        name.setText(LocalNames.get(i));
        name.setLayoutParams(tvNameParams);
        layout.addView(name);

        //Here is where I create and load the imageView/image
        ImageView flag = new ImageView(context);
        flag.setLayoutParams(imageParams);
        flag.setImageResource(context.getResources().getDrawable(R.drawable.myImage);
        layout.addView(flag);

        record.setText(LocalPoints.get(i));
        record.setLayoutParams(tvPointsParams);
        layout.addView(record);

        mainLinear.addView(layout);
    }