gpt4 book ai didi

android - 将 PNG 文件放在哪里以及如何从 XML 布局中的 ImageView 引用它们?

转载 作者:搜寻专家 更新时间:2023-11-01 07:57:17 24 4
gpt4 key购买 nike

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

word game screenshot

我希望有 2 个类继承自 View - SmallTile.javaBigTile.java .

这两个类都应该由一个 ImageView(id:“image”)和 2 个 TextViews(ids:“letter”和“value”)组成。

它们之间的区别在于 BigTile 将是可拖动的并且它的“图像”有阴影。

我已将图形资源放入目录 res/drawable-mdpi我正试图从布局文件中引用它们 res/layout/small_tile.xmlres/layout/big_tile.xml作为:

<?xml version="1.0" encoding="utf-8"?>
<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.png" >
</ImageView>

但是我得到了错误

No resource found that matches the given name (at 'src' with value '@drawable/small_tile.png')

如您在 Eclipse 屏幕截图(此处为 fullscreen)中所见:

eclipse screenshot

我也为我的 Assets 尝试了其他路径 - 例如 res/drawablessrc/assets

还有一个问题:如何从View加载布局文件?

res/layout/small_tile.xml 中只有一个ImageView现在,但我也想在那里添加两个 TextView(用于字母及其数值)- 然后从 SmallTile.java 加载它.

从编程书籍中我知道如何从 ActivityFragment 加载布局 - 调用 setContentView(R.layout.activity_main);onCreate 中 - 但是在 View 类中在哪里调用什么?

最佳答案

引用 Drawables 时,您只能通过文件名来引用它们。您应该省略扩展名。

例如,您发布的 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" >

请注意从 android:src="@drawable/small_tile.png"android:src="@drawable/small_tile"

要在 View 中使用自定义布局,您需要创建一个 LayoutInflater 并调用 inflate(R.id.my_layout, this);。例如:

public SmallTile(Context context) {
LayoutInflater inflater = LayoutInflater.from(context);
inflater.inflate(R.layout.my_view_layout, this);
}

关于android - 将 PNG 文件放在哪里以及如何从 XML 布局中的 ImageView 引用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26488840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com