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是否要背景了。

这两则示例虽然简单,却大大提升了用户体验,不必太多的代码换来的是让用户感觉到你所做软件非常的用心体贴,何乐而不为。

有什么疑问欢迎留言讨论。

posted on   豆浆咖啡  阅读(1379)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
< 2012年8月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

统计

点击右上角即可分享
微信分享提示