Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在哪里放置PNG文件以及如何在XML布局中从ImageView引用它们?_Android_Android Imageview_Android Assets - Fatal编程技术网

Android 在哪里放置PNG文件以及如何在XML布局中从ImageView引用它们?

Android 在哪里放置PNG文件以及如何在XML布局中从ImageView引用它们?,android,android-imageview,android-assets,Android,Android Imageview,Android Assets,在阅读了两本关于Android编程的书之后,我正在尝试移植一个iOS文字游戏应用程序: 我希望有两个类继承自视图-和 这两个类都应该由一个ImageView(id:“image”)和两个textview(id:“字母”和“值”)组成 它们之间的区别在于BigTile是可拖动的,其“图像”有阴影 我已将图形资源放入目录中,并尝试从布局文件中引用它们,如下所示: 但是我得到了错误 未找到与给定名称匹配的资源 (在“src”处,值为“@drawable/small_tile.png”) 正如您在

在阅读了两本关于Android编程的书之后,我正在尝试移植一个iOS文字游戏应用程序:

我希望有两个类继承自
视图
-和

这两个类都应该由一个
ImageView
(id:“image”)和两个
textview
(id:“字母”和“值”)组成

它们之间的区别在于BigTile是可拖动的,其“图像”有阴影

我已将图形资源放入目录中,并尝试从布局文件中引用它们,如下所示:


但是我得到了错误

未找到与给定名称匹配的资源 (在“src”处,值为“@drawable/small_tile.png”)

正如您在Eclipse屏幕截图(此处)中所看到的:

我也为我的资产尝试了其他路径-例如
res/drawables
src/assets

还有另一个问题:如何从
视图加载布局文件

现在只有一个
ImageView
,但我想在那里添加两个
TextView
s(用于字母及其数值),然后从中加载它


从编程书籍中,我知道如何从
Activity
Fragment
-调用
setContentView(R.layout.Activity\u main)加载布局onCreate
中的code>-但是在
视图中调用的位置和内容?

在引用可绘图项时,只能通过其文件名来引用它们。你应该省略扩展名

例如,您发布的ImageView在XML中应该如下所示:

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/small_tile" >

看起来您在其他布局文件中还有其他错误,请修复它们,以便正确生成资源。在emulator中,当我从small_tile.xml和big_tile.xml中的ImageView中删除
src
属性时,其他一切都可以正常编译并运行。我的应用程序在GitHub上-你可以自己看到这一点:看起来你的代码找不到资源。可能是一个干净的问题,或者您的布局/xml文件中有一个问题,或者您的资源名称中有一个非法字符?我已再次重命名PNG文件,以确保它们的名称中只有拉丁字母。我在Eclipse中多次发布了“刷新”和“清理项目”,并重新启动了Eclipse。+1删除
.png
有帮助,谢谢。您对如何使用SmallTile.java(基于视图的类)中的small_tile.xml有什么建议吗?我更新了我的答案。您可能也会发现有帮助。要使用
LayoutInflater.inflate()
我必须将
SmallTile
的基类从
View
更改为
ViewGroup
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/small_tile" >
public SmallTile(Context context) {
    LayoutInflater inflater = LayoutInflater.from(context);
    inflater.inflate(R.layout.my_view_layout, this);
}