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

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

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


查询之后:

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


这里说一下大致的思路:

  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文件, 引入项目

以上是 Delphi XE10 给地图层上面添加Android原生控件 的全部内容, 来源链接: utcz.com/a/69688.html

回到顶部