Delphi XE10 给地图层上面添加Android原生控件

        之前一直在研究如何在Delphi中使用ArcGIS for Android, 其实一直有个让人头痛的问题: 地图可以显示, 但是地图层处于Z轴的最顶层, 因此, 会遮挡掉Delphi界面中的控件...现在需求来了, 要在地图上添加一个文本框, 支持搜索和显示搜索结果...最终结果是下面这样的:


查询之后:


这里说一下大致的思路:

  1. JMapView不直接添加到NativeLayout中了, 而是通过代码创建一个TJFrameLayout层, 将TJFrameLayout添加到NativeLayout中;
  2. 在TJFrameLayout中, 通过代码添加JTextView, JListView以及JMapView控件;
  3. 在delphi项目中, 添加res/layout/item_list_pop.xml, 这个xml是JListView控件的Item的样式
  4. 在delphi项目中, 添加res/values/ids.xml, 这个xml是保存了item_list_pop.xml中元素的ID, 便于在Delphi代码中, 找到数字型的ID
  5. 将3,4中的xml文件, 部署到对应的res目录中
  6. 在Eclipse中创建Android Jar包类型的项目, 目的是为了创建一个ListItemAdaper, 供Delphi中使用; (尝试直接在Delphi中实现ListItemAdaper一直没成功)
  7. 将Android Jar包转换成Pas文件, 引入项目

猜你喜欢

转载自blog.csdn.net/ssxbxk/article/details/72675694