我的代码可以正常工作,但我不明白一件事。 我已经开始游戏编程,现在可以使用我的整个 SurfaceView 等。我已经画了一个背景,所以一切正常。
当我创建这个时,我遵循了教程,所以知道我正在评论我自己的语言。 :) 当我现在开始评论一些事情时;我无法摆脱这个,有人可以告诉我为什么我的 View 的构造函数具有 Context 参数和 AttributeSet 参数吗?是什么使得有必要拥有这些以及为什么我需要将 localContext 值设置为我的 GameView 上下文?
游戏
public class Game extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(new GameView(this, null));
}
}
游戏 View
public GameView(Context localContext, AttributeSet attrSet){
super(localContext, attrSet);
context=localContext;
InitView();
}
InitView();只需初始化我创建的每个对象和变量;如果需要这些东西来向我解释构造函数;我会发布它。
谢谢!
最佳答案
上下文携带着 View 用来操作的一堆状态。这包括配置状态等内容,以帮助资源系统确定在许多其他资源中使用哪些资源。
当您的 View 从 XML 布局扩充时,将使用 AttributeSet。这就是布局膨胀期间 XML 属性绑定(bind)到 View 属性的方式。
关于java - 不明白我的 View 的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357888/