android高德地图上加自定义菜单,自定义UI控件-UI界面定制-开发指南-Android 导航SDK | 高德地图API...

发布时间:2022-08-19 14:06

关于自定义 UI 布局,您还可以参考官方Demo——完全自定义UI导航。

单元素自定义

可以通过AMapNaviViewOptions中如下接口进行单UI元素显示隐藏,只列出部分接口,更多功能请参考AMapNaviViewOptions类。

/**

* 设置菜单按钮是否在导航界面显示。

*

* @param enabled 菜单按钮是否在导航界面显示。true代表显示,false代表不显示。

*/

public void setSettingMenuEnabled(Boolean enabled)

/**

* 设置是否显示路口放大图(实景图)

*

* @param isCrossDisplayEnabled true,开启;false,不开启

* @since 5.0.0

*/

public void setRealCrossDisplayShow(boolean isCrossDisplayEnabled)

/**

* 设置是否显示路口放大图(路口模型图)

*

* @param isCrossDisplayShow true,显示;false,不显示

* @since 1.5.0

*/

@Deprecated

public void setCrossDisplayShow(boolean isCrossDisplayShow)

/**

* 设置路况按钮的开启态图片和关闭态图片(开启态与关闭态图片同时设置才生效)

*

* @param defaultBitmap 开启态图片

* @param pressedBitmap 关闭态图片

*/

public void setTrafficBitmap(Bitmap defaultBitmap, Bitmap pressedBitmap)

/**

* 设置全览按钮的默认图片和点击图片(默认态与点击态图片同时设置才生效)

*

* @param defaultBitmap 默认的图片

* @param pressedBitmap 点击的图片

*/

public void setOverBitmap(Bitmap defaultBitmap, Bitmap pressedBitmap)

/**

* 设置导航界面是否显示路线全览按钮。

*

* @param isShow 设置全览按钮是否在导航界面显示,默认显示。true,显示;false,隐藏。

*/

public void setRouteListButtonShow(boolean isShow)

整体UI自定义

android高德地图上加自定义菜单,自定义UI控件-UI界面定制-开发指南-Android 导航SDK | 高德地图API..._第1张图片

如上图所示,我们可以通过AMapNaviViewOptions中如下接口,来一键控制所有 UI 控件的显示和隐藏。

/**

* 设置导航界面UI是否显示。

* @param isLayoutVisible true导航界面显示,false导航界面不显示。

*/

public void setLayoutVisible(boolean isLayoutVisible)

当不显示UI时,地图锚点也可以通过AMapNaviViewOptions进行自定义,可以根据自己的UI布局来调整比例尺的位置和锁车态时自车图标的默认显示位置,接口如下:

/**

* 设置自车位置锁定在屏幕中的位置,(0, 0)为地图左上角,(1, 1)为地图右下角

* @param x 取值范围:0-1 在x轴的位置,百分比

* @param y 取值范围:0-1 在y轴的位置,百分比

* @since 1.5.0

*/

public void setPointToCenter(double x, double y)

借助导航提供的View(DriveWayView、ZoomInIntersectionView、TrafficProgressBar、TrafficButtonView、OverviewButtonView等),组装自己的导航界面。

创建View以后在布局中调整好View的位置,调用AMapNaviView相应接口,将View托管给SDK,无需关心View的业务逻辑。

/**

* 设置用户自定义的车道线

* @param lazyDriveWayView

* @since 1.9.0

*/

public void setLazyDriveWayView(DriveWayView lazyDriveWayView)

/**

* 设置用户自定义的路口放大图

* @param zoomInIntersectionView

* @since 1.9.0

*/

public void setLazyZoomInIntersectionView(ZoomInIntersectionView zoomInIntersectionView)

/**

* 设置用户自定义的路况按钮

* @param lazyTrafficButtonView

* @since 1.9.0

*/

public void setLazyTrafficButtonView(TrafficButtonView lazyTrafficButtonView)

/**

* 设置用户自定义的全览按钮

* @param lazyOverviewButtonView

*/

public void setLazyOverviewButtonView(OverviewButtonView lazyOverviewButtonView)

/**

* 设置用户自定义的导航光柱条View

* 设置自定义的光柱条view,只需要设置位置和宽、高即可、颜色车标等元素,导航SDK内部会帮助进行更新操作。

* @param lazyTrafficProgressBarView

* @since 7.4.0

*/

public void setLazyTrafficProgressBarView(TrafficProgressBar lazyTrafficProgressBarView)

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号