我需要为我正在处理的项目初始化View和Canvas,但是经过一个小时左右或者搜索,我无法弄清楚是什么让它们等于。
这是我到目前为止的代码:
public class DisplayMap extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
displayMap();
} catch (IOException e) {
e.printStackTrace();
} catch (SlickException e) {
e.printStackTrace();
}
}
public void displayMap() throws IOException, SlickException {
loadWorld("assets/World.tmx");
}
public void loadWorld(String path) throws IOException {
View view = ?????;
Canvas canvas = ?????;
//World loading goes here
}
}
那么,任何人都可以建议我如何初始化View和Canvas?或者我是以完全错误的方式解决这个问题?
答案 0 :(得分:1)
您需要编写一个加载地图的自定义视图,然后在活动中使用自定义视图。
在TMXView.java
:
public class TMXView extends View {
public TMXView(Context context) {
super(context);
// Load map
}
public void onDraw(Canvas canvas) {
// Draw the map on the canvas
}
}
您活动的onCreate
:
View view = new TMXView(this);
setContentView(view);
有关详细信息,请参阅我关于自定义组件的讨论:http://www.sqisland.com/talks/android-custom-components/