Ale*_*ber 4 android android-assets android-imageview
在阅读了 2 本书关于 Android 编程之后,我正在尝试移植一个 iOS 文字游戏应用程序:

我想有 2 个继承自View- SmallTile.java和BigTile.java 的类。
这两个类都应该由一个ImageView(id: "image") 和 2 TextViews(ids: "letter" 和 "value") 组成。
它们之间的区别在于 BigTile 可以拖动并且它的“图像”有阴影。
我已将图形资产放入目录res/drawable-mdpi 中,我试图从布局文件res/layout/small_tile.xml和res/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>
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
找不到与给定名称匹配的资源(在 'src' 处,值为 '@drawable/small_tile.png')
正如您在 Eclipse 屏幕截图中看到的(这里是全屏):

我也为我的资产尝试了其他路径 - 例如res/drawables和src/assets.
还有另一个问题:如何从View?
只有一个ImageView在RES /布局/ small_tile.xml的权利,但我想补充两个TextView那儿太(为信及其数值) -然后从加载它SmallTile.java。
从我知道如何从载入一个布局的编程书籍Activity或Fragment-通话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" >
Run Code Online (Sandbox Code Playgroud)
注意从android:src="@drawable/small_tile.png"到android:src="@drawable/small_tile"
要在视图中使用自定义布局,您需要创建一个LayoutInflater并调用inflate(R.id.my_layout, this);. 例如:
public SmallTile(Context context) {
LayoutInflater inflater = LayoutInflater.from(context);
inflater.inflate(R.layout.my_view_layout, this);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10141 次 |
| 最近记录: |