您的位置:首页 > 产品设计 > UI/UE

接入高德 SDK 遇到的问题 02:导航SDK中的某些View不显示

2018-01-02 17:30 363 查看
简书:https://www.jianshu.com/p/16a9a505b1fb

需求:接入高德导航SDK后,自定义导航页面,采用某些SDK按钮样式

问题:采用某些SDK自带的 View 时没有显示(比如:ZoomButtonView、TrafficButtonView)

解决:编制 xml 文件时,SDK自带的 View 要在 AMapNaviView 下面





<com.amap.api.navi.AMapNaviView
android:id="@+id/navi_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<com.amap.api.navi.view.ZoomButtonView
android:id="@+id/zb_zoom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<com.amap.api.navi.view.TrafficButtonView
android:id="@+id/tb_traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

</LinearLayout>




// TODO: 2017/12/21 自定义UI时要打开下面的代码设置
/*AMapNaviViewOptions options = mAMapNaviView.getViewOptions();
options.setLayoutVisible(false); // 除地图外不显示其它UI
options.setAutoDrawRoute(true); // 自动绘制导航路线
mAMapNaviView.setViewOptions(options);*/
NextTurnTipView ntTurnIcon = (NextTurnTipView) findViewById(R.id.nt_turn_icon);
mAMapNaviView.setLazyNextTurnTipView(ntTurnIcon); // 设置SDK的导航图标类型
// TODO: 2017/12/21 xml 布局中 ZoomButtonView、TrafficButtonView 要在 AMapNaviView 下面
ZoomButtonView zbZoom = (ZoomButtonView) findViewById(R.id.zb_zoom);
mAMapNaviView.setLazyZoomButtonView(zbZoom); // 设置SDK的放大缩小按钮样式
TrafficButtonView tb_traffic = (TrafficButtonView) findViewById(R.id.tb_traffic);
mAMapNaviView.setLazyTrafficButtonView(tb_traffic); // 设置SDK的路况开关样式


ps:太奇葩了…
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐