【Android】第3章(8)UI控制功能

王朝学院·作者佚名  2016-08-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04

一、简介简介:介绍开关手势功能和显示隐藏UI控件

详述:

(1)地图操作开关:平移、缩放、双击放大、双指操作(旋转度和俯视度);

(2)控件显示开关:显示/隐藏缩放按钮;

(3)指南针位置控制:显示在地图左上角或者右上角(仅举例),开发者可据实际情况任意改变位置;

(4)底图标注开关:控制显示/隐藏底图POI,隐藏POI可得到仅显示道路信息的地图

运行截图

在x86模拟器中的运行效果如下:

[flash=500,400]http://s1.knowsky.com/20160211/jnbggafuv5m55.png[/flash]

二、设计步骤在上一节例子的基础上,只需要再增加下面的步骤即可。

1、添加demo07_uisetting.axml文件在layout文件夹下添加该文件,将其改为下面的代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50dip"android:orientation="horizontal"><CheckBoxandroid:id="@+id/zoom"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="缩放"/><CheckBoxandroid:id="@+id/scroll"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="平移"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50dip"android:orientation="horizontal"><CheckBoxandroid:id="@+id/rotate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="旋转"/><CheckBoxandroid:id="@+id/overlook"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="俯视"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50dip"android:orientation="horizontal"><CheckBoxandroid:id="@+id/compass"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="开启指南针"/><CheckBoxandroid:id="@+id/mappoi"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="底图标注"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50dip"android:orientation="horizontal"><CheckBoxandroid:id="@+id/allGesture"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="false"android:text="禁用所有手势"/><CheckBoxandroid:id="@+id/setPadding"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="设置Padding"/></LinearLayout><com.baidu.mapapi.map.TextureMapViewandroid:id="@+id/bmapView"android:layout_width="fill_parent"android:layout_height="wrap_content"android:clickable="true"/></LinearLayout>

2、添加Demo07UISetting.cs文件在SrcSdkDemos文件夹下添加该文件,然后将其内容改为下面的代码:

usingAndroid.App;usingAndroid.Content.PM;usingAndroid.OS;usingAndroid.Widget;usingCom.Baidu.Mapapi.Map;namespaceBdMapV371Demos.SrcSdkDemos

{///<summary>///演示地图UI控制功能///</summary>[Activity(ConfigurationChanges = ConfigChanges.Orientation |ConfigChanges.KeyboardHidden,

Label="@string/demo_name_ui",

ScreenOrientation=ScreenOrientation.Sensor)]publicclassDemo07UISetting : Activity

{PRivateTextureMapView mMapView;protectedoverridevoidOnCreate(Bundle savedInstanceState)

{base.OnCreate(savedInstanceState);

SetContentView(Resource.Layout.demo07_uisetting);

mMapView= FindViewById<TextureMapView>(Resource.Id.bmapView);

BaiduMap mBaiduMap=mMapView.Map;

mBaiduMap.SetMapStatus(MapStatusUpdateFactory.NewLatLng(MainActivity.HeNanUniversity));

UiSettings mUiSettings=mBaiduMap.UiSettings;

MapStatus ms=newMapStatus.Builder().Overlook(-30).Build();

MapStatusUpdate u=MapStatusUpdateFactory.NewMapStatus(ms);

mBaiduMap.AnimateMapStatus(u,1000);varzoom= FindViewById<CheckBox>(Resource.Id.zoom);

zoom.CheckedChange+= (s,e)=>{//是否启用缩放手势mUiSettings.ZoomGesturesEnabled =e.IsChecked;

};varscroll = FindViewById<CheckBox>(Resource.Id.scroll);

scroll.CheckedChange+= (s, e) =>{//是否启用平移手势mUiSettings.ScrollGesturesEnabled =e.IsChecked;

};varrotate = FindViewById<CheckBox>(Resource.Id.rotate);

rotate.CheckedChange+= (s, e) =>{//是否启用旋转手势mUiSettings.RotateGesturesEnabled =e.IsChecked;

};varoverlook = FindViewById<CheckBox>(Resource.Id.overlook);

overlook.CheckedChange+= (s, e) =>{//是否启用俯视手势mUiSettings.OverlookingGesturesEnabled =e.IsChecked;

};varcompass = FindViewById<CheckBox>(Resource.Id.compass);

compass.CheckedChange+= (s, e) =>{//是否启用指南针图层mUiSettings.CompassEnabled =e.IsChecked;

};varmappoi = FindViewById<CheckBox>(Resource.Id.mappoi);

mappoi.CheckedChange+= (s, e) =>{//是否显示底图默认标注mBaiduMap.ShowMapPoi(e.IsChecked);

};

}protectedoverridevoidOnPause()

{

mMapView.OnPause();base.OnPause();

}protectedoverridevoidOnResume()

{

mMapView.OnResume();base.OnResume();

}protectedoverridevoidOnDestroy()

{

mMapView.OnDestroy();base.OnDestroy();

}

}

}

3、修改MainActivity.cs文件

在MainActivity.cs文件的demos字段定义中,去掉【示例7】下面的注释。

运行观察结果。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航