Windows Phone开发经验谈(17)-两则改善用户体验的开发技巧
不知道大家有没一种体会,就是你在软件中加入了一种功能之后,有的用户希望你不要加入这项功能,有的则是非常喜欢新加入的功能。这种情况就实在令人头疼。这里就说两个这样的例子。
1、退出确认功能
有的时候开发者担心用户操作出错,而特别设置了一个退出确认功能,但是市场上大部分用户却不是很喜欢,但是你如果把这项功能去掉就又会导致误操作,实在是众口难调..所以你就必须在设置里面加入一个选项,让用户选择是否要退出确认功能,实现代码如下:
首先建立一个属性ExitConfirm来存储系统的设置..判断是否是退出确认
private IsolatedStorageSettings m_IsolatedStorageSettings = IsolatedStorageSettings.ApplicationSettings; public bool ExitConfirm { get { return (this.m_IsolatedStorageSettings.Contains("ExitConfirm") && ((bool) this.m_IsolatedStorageSettings["ExitConfirm"])); } set { if (this.ExitConfirm != value) { this.m_IsolatedStorageSettings["ExitConfirm"] = value; if (this.PropertyChanged != null) { this.PropertyChanged(this, new PropertyChangedEventArgs("ExitConfirm")); } } } }
再在主界面中重写OnBackKeyPress方法代码如下所示
protected override void OnBackKeyPress(CancelEventArgs e) { if (Theme.Instance.ExitConfirm && (MessageBox.Show("确定退出超级词典", "提示", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)) { e.Cancel = true; } base.OnBackKeyPress(e); }
这样退出确认功能只会在ExitConfirm为true的时候提示,用户如果没有设置退出确认则不会显示了...很简单的小技巧但是却改善了用户体验
2、图标透明
有的时候开发者把图标配上底色自我感觉很不错..当应用发布后却遭到很多用户反馈说是否能把图标改成透明的,我就曾经遇到过这样的反馈。其实这并不一定图标配色出了问题,而可能是有的用户希望APP的Icon能够和系统的主题一致,但是你或者其他一些用户又喜欢有底色的Icon..这又如何是好呢?其实很简单,还是按照第一条的结论,也就是再添加一个设置项,来设置是否需要图标透明..下面可以一起跟我一起做一遍:
首先做2个173*173的图标的,一个底色的叫Background.png另一个透明的叫Background2.png,默认是有底色的...在系统设置里面添加一个ToggleSwitch并添加一个事件ToggleSwitch_Checked代码如下:
private void ToggleSwitch_Checked(object sender, RoutedEventArgs e) { ShellTile tile = Enumerable.First<ShellTile>(ShellTile.ActiveTiles); if (tile != null) { string uriString = string.Empty; if (this.toggleSwitch.IsChecked.Value) { uriString = "/Background2.png"; } else { uriString = "/Background.png"; } Theme.Instance.DefaultTile = this.toggleSwitch.IsChecked.Value; StandardTileData data = new StandardTileData(); this.imgTile.Source = new BitmapImage(new Uri(uriString, UriKind.RelativeOrAbsolute)); data.BackgroundImage = new Uri(uriString, UriKind.RelativeOrAbsolute); tile.Update(data); } }
这样用户就能够自由的选择APP的Icon是否要背景了。
这两则示例虽然简单,却大大提升了用户体验,不必太多的代码换来的是让用户感觉到你所做软件非常的用心体贴,何乐而不为。
有什么疑问欢迎留言讨论。