原文:使用WPF技术模拟手机界面

1. 前言

WPF(Windows Presentation Foundation),即“Windows呈现基础”,它的目的非常明确,就是用来把数据“显示”给用户看的(说白了就是用来做UI的)。接下来将会介绍一个小项目,用WPF来实现模拟手机界面设计。

2. 实现的功能

本项目模拟手机界面,实现了如下几个功能:

  • 滑动解锁
  • 顶部状态栏显示
  • 查看系统时间
  • 附有背景以及应用图标的界面及切换
  • 点击日历图标跳转到显示日历的界面
  • 点击锁屏图标进入滑动解锁状态

3. 效果展示

  • 滑动解锁、顶部状态栏显示 、查看系统时间



    实现情况:

    1.实现了仿苹果手机的滑动解锁效果,同时滑动解锁模块上面的文字具有动画效果。当滑动解锁箭头滑动长度不足进度条的一半则箭头回到起点,超过一半解锁成功。

    2.在屏幕顶部显示状态栏,在锁屏界面实现显示系统时间的功能,能够实时显示系统时间。

  • 附有背景以及应用图标的界面及切换



    实现情况:

    1.每个页面必须设置一个背景图片,每个图标必须有自己的图像。

    2.点击页面下方的左右箭头可以实现两个界面之间的顺序切换,点击中间的home键则返回主界面。当界面切换时,具有仿苹果手机的翻页效果(淡入淡出的动画效果),同时可以通过底下的圆点的颜色来判断当前所在界面。

  • 模拟Icon的事件响应



    实现情况:

    1.部分应用图标点击事件,能够跳转到指定界面。点击日历则能够显示日历。点击锁屏的应用图标能够进入滑动解锁的状态。

4. 部分功能代码分析

  • App.xaml



    程序启动的地方,其实是在程序的App.xaml文件里面:StartupUri=”Window1.xaml“这个就是程序的入口点,运行程序之后,我们就将window1显示在了显示屏上。

  • Window1.xaml



    Page是我们真正的Ui,而NavigationWindow不过是为我们提供了一个框架,Page是附在上面的。因为VS2010不能直接创建NavigationWindow和Page相关的项目,所以我们要自己修改。首先创建一个WPF应用程序,在后台将继承的Window类改为NavigationWindow类。然后在XAML中同样将< window………标记改为NavigationWindow。NavigationWindow上不能有任何控件。。。包括Grid等。。。。记住现在我们的UI是Page。新建Page,在上面随便画画。然后将NavigationWindow.Source设为默认页面(Default Page)。即将主窗体的XAML里NavigationWindow的Source属性设为Page的名字,就OK了。另外Page之间的切换也是很简单方便的。NavigationService.Navigate(newUri(“XXXXX.xaml”,UriKind.Relative)); XXXXX为Page的名字。

  • Window1.xaml.cs



    为Page增加淡入淡出(Fade)效果:

    Window1继承自NavigationWindow,那么显然抓住Navigating事件不放,做如下操作:

      取消当前Navigate请求,如果有当前页的前提下。

      淡出当前页,如果有当前页的前提下。

      完成淡出过程后Navigate到目标页。

      淡入目标页。

  • Slide.xaml



    用于显示背景图片。

  • Slide.xaml.cs





    完成滑动解锁功能。



完成显示系统时间的功能。

  • Slide.xaml

  • RepeatBehavior:获取或设置此时间线的重复行为。Forever循环动画
  • DoubleAnimation:它在指定的持续时间内将动画从指定的起始值继续到指定的目标值。
  • From,To:动画开始到结束变化的值

  • Slide.xaml.cs



    实现了滑动解锁成功切换到主界面的功能。

  • index.xaml





    实现页面切换以及页面底部显示页面切换状态的圆点。

5. 下载链接

http://download.csdn.net/download/qq_22408539/10185109

使用WPF技术模拟手机界面的更多相关文章

  1. WPF技术触屏上的应用系列(六): 视觉冲击、超炫系统主界面、系统入口效果实现

    原文:WPF技术触屏上的应用系列(六): 视觉冲击.超炫系统主界面.系统入口效果实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体 ...

  2. WPF模拟雷达界面效果图

    原文:WPF模拟雷达界面效果图 iPad塔防的防守兵的效果很炫,2个小时用WPF模拟了一个. 效果图: 关键代码: <Grid> <Grid.Background> <I ...

  3. WPF技术触屏上的应用系列(五): 图片列表异步加载、手指进行缩小、放大、拖动 、惯性滑入滑出等效果

    原文:WPF技术触屏上的应用系列(五): 图片列表异步加载.手指进行缩小.放大.拖动 .惯性滑入滑出等效果 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统, ...

  4. 在PC上测试移动端网站和模拟手机浏览器的5大方

    查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模 ...

  5. WPF基础知识、界面布局及控件Binding(转)

    WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...

  6. 23套新鲜出炉的网站和手机界面 PSD 素材

    Web 用户界面,移动用户界面和线框套件对设计师很有用,因为这些套件让他们使用快速和有效的方式复制用户界面.这些类型的工具包提供了一个基本的用户界面元素,用于它们需要制作的网站或软件模型. 在这篇文章 ...

  7. WPF基础知识、界面布局及控件Binding

    WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...

  8. 在PC上测试移动端网站和模拟手机浏览器的5大方法

    在PC上测试移动端网站和模拟手机浏览器的5大方法 来源:互联网 作者:佚名 时间:03-19 10:14:54 [大 中 小]                最近公司要开发网站的移动版,让我准备准备知 ...

  9. PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询

    伴随微信的红火,微信公众平台成为许多开发者的下一个目标.笔者本身对于这种新鲜事物没有如此多的吸引力.但是最近有朋友帮忙开发微信公众平台中一个成绩查询的功能.于是便在空余时间研究了一番. 主要的实现步骤 ...

随机推荐

  1. ZOJ 3168 Sort ZOJ7 水

    再水一发,舍友肿么还在睡T T. ---------------------------------舍友还在睡觉的分割线--------------------------------- http:/ ...

  2. 【b802】火柴棒等式

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴 ...

  3. &quot;Swift&quot;编程语言

    来自英文文档.百度翻译以及自己没过4级的渣渣英语功底,为了自己以后看起来方便 About Swift 关于"海燕" IMPORTANT 重要 This is a prelimina ...

  4. Android组件——使用DrawerLayout仿网易新闻v4.4侧滑菜单

    摘要: 转载请注明出处:http://blog.csdn.net/allen315410/article/details/42914501 概述        今天这篇博客将记录一些关于DrawerL ...

  5. Python 网络爬虫与信息获取(一)—— requests 库的网络爬虫

    1. 安装与测试 进入 cmd(以管理员权限),使用 pip 工具,pip install requests 进行安装: 基本用法: >> import requests >> ...

  6. [React] Render Basic SVG Components in React

    React loves svg just as much as it loves html. In this lesson we cover how simple it is to make SVG ...

  7. hdu 4644 BWT (kmp)

    看完题目你非常easy想到,这个题目的关键点就是怎样把给出的数组还原成原数组. 还原的原数组之后无论是AC自己主动机 还是 kmp都能够解决 - -尽管我认为kmp会超时的感觉. 那么怎样还原这个字符 ...

  8. 【hdu 1846】Brave Game

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  9. 基于 OAuth 安全协议的 Java 应用编程

    OAuth 简介 OAuth 是由 Blaine Cook.Chris Messina.Larry Halff 及 David Recordon 共同发起的,目的在于为 API 访问授权提供一个安全. ...

  10. 菜鸟学习Spring——60s利用JoinPoint获取參数的值和方法名称

    一.概述 AOP的实现方法在上两篇博客中已经用了两种方法来实现如今的问题来了尽管我们利用AOP,那么client怎样信息传递?利用JoinPoint接口来实现client给详细实现类的传递參数. 二. ...