提问人:Sanku 提问时间:10/2/2016 最后编辑:Sanku 更新时间:5/3/2020 访问量:12610
Android Studio-图像显示在设计视图中,但不显示在模拟器中
Android Studio-Image showing in design view but not in emulator
问:
我正在学习安卓应用程序开发。因此,当我构建一个简单的应用程序以在屏幕上显示两个图像时,我使用了 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;
}
}
}
请帮我找到解决方案。
答:
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 小时 - 下载并尝试不同的模拟器并检查它。这是我在尝试上述技巧后修复的!
评论
onCreate()
android:src
app:srcCompat