设为首页 收藏本站
查看: 884|回复: 0

win8: hello gril

[复制链接]

尚未签到

发表于 2015-5-21 09:09:26 | 显示全部楼层 |阅读模式
  My first metro app in win8:hello gril
  from 官方文档:http://msdn.microsoft.com/en-us/library/windows/apps/hh986964.aspx
  看效果:
DSC0000.png
  建一个blank App;先看project 组成:
  References:库的引用
  css:里面一个default.css 放置样式内容

  images:图片文件夹
  js:文件夹,里面一个default.js  js文件
  default.html
  Hello Gril_TemporaryKey.pfx
  manifest 配置文件
  
  
  看js的代码:
  



(function () {
"use strict";
WinJS.Binding.optimizeBindingReferences = true;
var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
app.onactivated = function (args) {
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
// TODO: This application has been newly launched. Initialize
// your application here.
} else {
// TODO: This application has been reactivated from suspension.
// Restore application state here.
            }
args.setPromise(WinJS.UI.processAll().then(function completed(){
// Retrieve the div that hosts the Rating control.
var ratingControlDiv = document.getElementById("ratingControlDiv");
// Retrieve the actual Rating control.
var ratingControl = ratingControlDiv.winControl;
// Register the event handler.
ratingControl.addEventListener("change", ratingChanged, false);
}));
//add button listener
var helloButton = document.getElementById("helloButton");
helloButton.addEventListener("click", buttonClickHandle, false);
}
};
app.oncheckpoint = function (args) {
// TODO: This application is about to be suspended. Save any state
// that needs to persist across suspensions here. You might use the
// WinJS.Application.sessionState object, which is automatically
// saved and restored across suspension. If you need to complete an
// asynchronous operation before your application is suspended, call
// args.setPromise().
    };
function buttonClickHandle(eventInfo) {
var username = document.getElementById("nameInput").value;
var string = "hi," + username + " you are  beautiful!"
document.getElementById("greetingOutput").innerText = string;
}
function ratingChanged(eventInfo) {
var ratingOutput = document.getElementById("ratingOutput");
ratingOutput.innerText = eventInfo.detail.tentativeRating;
}
app.start();
})();
  
  
  一个自执行的匿名方法。里面其实也有相关的生命周期:onactivated,oncheckpoint 。
  声明了button的响应方法buttonClickHandle。在onactivated中通过id获取button,再设置监听即可。
  
  html代码:
  







Hello_Gril









hello , gril!

what's your name,gril?

say hi


Rate this greeting:


     




  
  应用了winjs的库。在     中使用了winjs的相关控件。在js中要靠  去连接,并且其是异步的。所以ratingControlDiv控件 的响应就要在WinJS.UI.processAll()异步之后执行。就有了:



            args.setPromise(WinJS.UI.processAll().then(function completed(){
// Retrieve the div that hosts the Rating control.
var ratingControlDiv = document.getElementById("ratingControlDiv");
// Retrieve the actual Rating control.
var ratingControl = ratingControlDiv.winControl;
// Register the event handler.
ratingControl.addEventListener("change", ratingChanged, false);
}));
  最后也瞧瞧css的代码吧:



body {
}
.headClass {
margin-top: 45px;
margin-left: 120px;
}
.mainContent {
margin-bottom: 31px;
margin-left: 120px;
margin-bottom: 10px;
}
#greetingOutput {
height: 30px;
margin-bottom: 40px;
}
@media screen and (-ms-view-state: fullscreen-landscape) {
}
@media screen and (-ms-view-state: filled) {
}
@media screen and (-ms-view-state: snapped) {
}
@media screen and (-ms-view-state: fullscreen-portrait) {
}
  后半部分是其缺省给的,暂时忽略。
  
  整个开发过程与Android开发其实没多大差别,android的xml组织界面,java控制逻辑。在这里是html/css负责界面,js控制。有生命周期,不过貌似只有三种状态。
  
  over!
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69036-1-1.html 上篇帖子: WindowsPhone8开发环境搭建之二、安装win8操作系统 下篇帖子: win8/Metro开发系五 win8 异步编程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表