Android:如何初始化视图和画布?

Sea*_*iss 5 java android

我需要为我正在处理的项目初始化 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
    }
    }
Run Code Online (Sandbox Code Playgroud)

那么,有人可以建议我如何初始化视图和画布吗?还是我以完全错误的方式处理这个问题?

chi*_*uki 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
  }
}
Run Code Online (Sandbox Code Playgroud)

在onCreate您的活动中:

 View view = new TMXView(this);
 setContentView(view);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅我关于自定义组件的演讲:http://www.sqisland.com/talks/android-custom-components/