Android Studio-图像显示在设计视图中,但不显示在模拟器中

Android Studio-Image showing in design view but not in emulator

提问人:Sanku 提问时间:10/2/2016 最后编辑:Sanku 更新时间:5/3/2020 访问量:12610

问:

我正在学习安卓应用程序开发。因此,当我构建一个简单的应用程序以在屏幕上显示两个图像时,我使用了 ImageView.这些图像显示在 android studio 设计屏幕中,但是当我尝试使用 genymotion 模拟器运行应用程序时,屏幕只是空白。我看不到images.here是xml文件。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="showmebioapp.studio.com.showmebio.MainActivity"
    android:background="@android:color/holo_blue_bright">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/vegeta"
        android:layout_marginTop="32dp"
        android:id="@+id/imageVegetaId"
        android:layout_alignParentTop="true"
        android:layout_alignRight="@+id/imageGokuId"
        android:layout_alignEnd="@+id/imageGokuId"
        android:layout_marginRight="32dp"
        android:layout_marginEnd="32dp" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/goku"
        android:layout_marginBottom="79dp"
        android:id="@+id/imageGokuId"
        android:layout_marginLeft="62dp"
        android:layout_marginStart="62dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

主要活动。爪哇岛

public class MainActivity extends Activity implements View.OnClickListener {

private ImageView vegetaImage;
private ImageView gokuImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    vegetaImage=(ImageView)findViewById(R.id.imageVegetaId);
    gokuImage=(ImageView)findViewById(R.id.imageGokuId);
    vegetaImage.setOnClickListener(this);
    gokuImage.setOnClickListener(this);
}

@Override
public void onClick(View v) {

    switch(v.getId()){

        case R.id.imageVegetaId:
            Intent vegetaIntent=new Intent(MainActivity.this,DetailsActivity.class);
            vegetaIntent.putExtra("vegetaBio","hello from vegeta");
            startActivity(vegetaIntent);
            break;
        case R.id.imageGokuId:
            Intent gokuIntent=new Intent(MainActivity.this,DetailsActivity.class);
            gokuIntent.putExtra("gokuBio","hello from goku");
            startActivity(gokuIntent);
            break;
    }
}

}

enter image description here enter image description here

请帮我找到解决方案。

安卓 Android-Studio

评论

0赞 manabreak 10/2/2016
您是否真的在活动中使用此布局?显示活动记录的方法。onCreate()
0赞 Sanku 10/2/2016
受保护的 void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
0赞 Sanku 10/2/2016
@manabreak是的,我已经用过了
0赞 Sanku 10/2/2016
@manabreak我已经编辑了我的帖子,添加了 MainActivity.java 代码。请看
2赞 manabreak 10/2/2016
你试过用代替吗?android:srcapp:srcCompat

答:

14赞 Neelay Srivastava 10/2/2016 #1

您正在使用 srcCompat 而不是使用 src,就像使用 back goku 而不是 goku 一样

  <ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:src="@drawable/vegeta"
    android:layout_marginTop="32dp"
    android:id="@+id/imageVegetaId"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/imageGokuId"
    android:layout_alignEnd="@+id/imageGokuId"
    android:layout_marginRight="32dp"
    android:layout_marginEnd="32dp" />

因为它的 srcCompat 属性实际上是在 AppCompat 库中定义的。

重要提示:您需要为此添加适当的命名空间。

xmlns:app=“http://schemas.android.com/apk/res-auto”

重要

你得到的似乎只是一个 lint 错误,可能是 忽视。我试过并遇到同样的错误,但它正在工作 正确。更多信息

快乐编码:)

评论

0赞 Sanku 10/2/2016
我使用了android:src@manabreak建议它。成功了。你能告诉我为什么吗?因为 app:srcCompat 适用于我的其他应用程序。提前致谢。
2赞 Conroy 5/3/2020 #2

刚刚经历了这个问题 <1 小时 - 下载并尝试不同的模拟器并检查它。这是我在尝试上述技巧后修复的!