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