
- ããŒã1ïŒéå§ç¹
- ããŒã2ïŒé«åºŠãªã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³
- ããŒã3ïŒããã®åäººã®æ¯åã¹ã¿ã€ã«
- ããŒã4ïŒãŠãŒã¶ãŒããŒã¿ã®ååŸïŒä»»æïŒ
- ããŒã5ïŒããŒã¿ã¯ã©ãã«ä¿åããŸããïŒ
èè ã«çºèšæš©ãäžããŸãã
客芳çã«èšãã°ãæ¡åŒµã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã®ãããã¯ã¯ããã®ãµã€ã¯ã«ã®çµããè¿ãã«ãããšèããã¹ãã§ãã ããã¯ãã¢ããªã±ãŒã·ã§ã³ã®æãéèŠãªéšåã§ããã ãã§ãªããååãšããŠå¿ é ã§ã¯ãããŸããã ãã ãããµã€ã¯ã«ã¯ãããžã§ã¯ãã®éçºãšäžŠè¡ããŠèšè¿°ããããããèšäºã®èšè¿°é åºã«è¥å¹²ã®èª¿æŽãå°å ¥ãããŸãã æ¡åŒµãããã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ãçšæãããŠããããµã€ã¯ã«äžã«åœŒã«éãããç¶æ³ãããã®ã§ãæåã«åœŒã«ã€ããŠè©±ãããšã«ããŸããã
ç§ãã¡ã¯å°ããªããšããå§ããŸã-ã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ãšã¯äœã§ããïŒãªããããæ¡åŒµããå¿ èŠãããã®ã§ããïŒ UWPãç»å Žãããã£ãšåãããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã¯ãªãŒã³ã»ãŒããŒã«åºäŒã£ãããšã¯ç¢ºãã§ãã é ããŸã§è¡ããªã Visual Studioãèµ·åãããšãé©åãªãã£ãã·ã§ã³ãä»ããé·æ¹åœ¢ã®ç»åãå ¥åããŸãã

åããã°ã©ã ã¯ãã€ã³ã¿ãŒãã§ã€ã¹ãåæåããŠããŒãããã®ã«å°ãæéãå¿ èŠã§ããããããã®æç¹ã§ãŠãŒã¶ãŒã¯äœããèµ·ãã£ãŠããããšãçè§£ããã¹ãã©ãã·ã¥ç»é¢ã衚瀺ãããŸãã èµ·åããã»ã¹ãããè€éã§æéããããããã°ã©ã ã§ã¯ãé«åºŠãªã¹ãã©ãã·ã¥ç»é¢ã䜿çšãããŸãã ãããã«ã€ããŠã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããŠã³ããŒãã¹ããŒã¿ã¹ã瀺ãããã¹ããŸãã¯ã¹ããŒã¿ã¹ããŒããã衚瀺ãããŸãã
ããã§ã¯ãUWPã§ã®åäœãèŠãŠã¿ãŸãããã äž»ãªéãã¯ãã©ãããã©ãŒã ã®æ©èœã§ãã æ®éçã§ãããããããã§ã¯ããŠã£ã³ããŠãã®æŠå¿µã¯åªå äºé ã§ã¯ãªãããã¹ã¯ãªãŒã³ãã®æŠå¿µãåé¢ã«åºãŠããŸãã ç»é¢ã衚瀺ãããã³ã³ããã¯ããã€ã¹ã«äŸåãããŠã£ã³ããŠã¯PCã®ã¿ã«ãããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®èµ·åæã«ãŠãŒã¶ãŒã«æåã«è¡šç€ºãããã®ã¯ãPNGç»åãšèæ¯ã®å¡ãã§æ§æãããã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã§ãã ã¢ããªã±ãŒã·ã§ã³ãäœæããã°ããã§äœã倿Žããªãã£ãå Žåãã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã¯ã·ã¹ãã ã®ã¡ã€ã³ã«ã©ãŒã§ãã€ã³ããããäžå€®ã«ã¯ã¢ããªã±ãŒã·ã§ã³ã§èªåçã«äœæãããåºæ¬çãªãã¹ã¿ããç»åããããŸãã ããã©ã«ãã§ã¯ããã®ç»åã¯ãAssetsããã©ã«ããŒã«ããããSplashScreen.pngããšåŒã°ããŸãã ãŸãããã¡ã€ã«åã«ã¯ãscale-200ããªã©ãå«ãŸããå ŽåããããŸãã ããã¯ã¹ã±ãŒãªã³ã°ã·ã¹ãã ã®äžéšã§ãããã·ãªãŒãºã®ããããã®èšäºã§åå¥ã«èª¬æããŸãããããã§ã¯äžè¬çãªçšèªã§ã®ã¿èª¬æããŸãã

ã¢ããªã±ãŒã·ã§ã³ã¯ããŸããŸãªããã€ã¹ã§å®è¡ã§ãããããããŸããŸãªãµã€ãºã®ç»åã®è€æ°ã®ããŒãžã§ã³ãäœæããŠãããŸããŸãªç»é¢è§£å床ã§äŒžåŒµãŸãã¯å§çž®ã«ãã£ãŠå質ã倱ãããªãããã«ããããšãã§ããŸãã ãããžã§ã¯ãå ã®ç»åã®æšæºåã¯ãååãšæ¡åŒµåã®2ã€ã®éšåã§æ§æãããŠããŸãã ãã®ãããªç»åã¯ã100ïŒ ã®ã¹ã±ãŒã«ã®ç»åãšããŠèªèãããŸãã ååãšæ¡åŒµåã®éã«ã.scale-xxxãïŒxxxã¯ã¹ã±ãŒãªã³ã°ä¿æ°ïŒã远å ãããšããã®ã¹ã±ãŒã«ã®ç»é¢ã§ã¯ããã©ã«ãã§èæ ®ãããæ®ãã®éšåã§äŒžçž®ããŸãïŒã¹ã±ãŒã«ã®ããŒãžã§ã³ããªãå ŽåïŒã ããšãã°ãã¹ã±ãŒã«ã200ïŒ ã®å Žåãã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã®ã€ã¡ãŒãžåã¯ãSplashScreen.scale-200.pngãã«ãªããŸãã ããã«æ¬æã§ã¯ãå°æ¥ã®èšäºã§äºå®ãããŠããããŒããè€è£œããªãããã«ã100ïŒ ã®ã¹ã±ãŒã«ã®ç»åã®ã¿ãæ€èšããŸãã
ããã§ãç»åã®ãµã€ãºã«ã€ããŠçŽæ¥èª¬æããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®åºæ¬çãªèŠèŠçãªãœãŒã¹ã«ã¯ãåã¹ã±ãŒã«ã®ãµã€ãºãåºå®ãããŠããŸãã æšæºã¹ã±ãŒã«ã®ã¹ãã©ãã·ã¥ç»é¢ã®ç»åã¯ã620x300ãã¯ã»ã«ã®ãµã€ãºã«ããå¿ èŠããããŸãã å¥ã®ãµã€ãºã䜿çšããããšãããšããšã©ãŒã«é¢ããèŠåã衚瀺ãããŸãããäžèšã®ã¹ã¯ãªãŒã³ã·ã§ãããèŠããšãæããã«ç°ãªããµã€ãºã®æ£æ¹åœ¢ã®ç»åãèŠãããšãã§ããŸãã å®éã620x300ãã¯ã»ã«ã®ãµã€ãºãããããã®ã»ãšãã©ãéæã§ããããã¯çŠæ¢ãããŠããªãã ãã§ãªããå€ãã®ã·ããªãªã§æšå¥šãããŠããŸãã
ã¹ãã©ãã·ã¥ç»é¢ã®èæ¯è²ã«ã¯ãããã©ã«ãã®ã·ã¹ãã è²ããŸãã¯ã¢ããªã±ãŒã·ã§ã³ãããã§ã¹ãã§æå®ããè²ã䜿çšãããŸãã

èæ¯ã®è²ã®èšå®ãšç¬èªã®ç»åã®éžæã¯ããã¹ã¯ãªãŒã³ã»ãŒããŒããµãã»ã¯ã·ã§ã³ã®ãããžã¥ã¢ã«ãªãœãŒã¹ãã¿ãã®ãããã§ã¹ããšãã£ã¿ãŒãŠã£ã³ããŠã§å®è¡ãããŸãã åã®èšäºã§è¿°ã¹ãããã«ããªããžã§ã¯ããã©ãŠã¶ãŒã§Package.appxmanifestãã¡ã€ã«ãããã«ã¯ãªãã¯ãããšããããã§ã¹ããšãã£ã¿ãŒãéãããšãã§ããŸãã ãã®ãšãã£ã¿ãŒã¯UWPãã©ãããã©ãŒã ãšäžç·ã«éçºãããŠãããVSã®ææ°ããŒãžã§ã³ã§ã¯ãç°ãªãã¹ã±ãŒã«ã§1ã€ã®ç»åããå¿ èŠãªãã¹ãŠã®ããªãšãŒã·ã§ã³ããã°ããäœæã§ããããŒã«ããããŸããããã®ããŒã«ã«ã€ããŠã¯å¥ã®èšäºã§åå¥ã«èª¬æããŸãããããã§ã¯æåã®ãã©ã¡ãŒã¿ãŒèšå®ã®ã¿ãæ€èšããŸãã
æåã®ãã£ãŒã«ããBackground screen saverãã§ã¯ã HTML ïŒHEXïŒåœ¢åŒã§èæ¯è²ãæå®ããå¿ èŠããããŸãã ã»ãšãã©ãã¹ãŠã®ç»åãšãã£ã¿ãŒïŒPaint 3Dãå«ãïŒãŸãã¯ãªã³ã©ã€ã³ã§é©åãªåœ¢åŒã§è²ã®å€ãååŸã§ããŸãããè±æ°åã®å€ã®å é ã«ãïŒãèšå·ãä»ããå¿ èŠããããã®è²ã®èšè¿°èŠåãå¿ããªãã§ãã ããã ããšãã°ãç§ã®ã¹ã¯ãªãŒã³ã»ãŒããŒã¯ãèæ¯ãšããŠå€ "ïŒfae57a"ã䜿çšããŸãã

2çªç®ã®ã¹ã¯ãªãŒã³ã»ãŒããŒã§ã¯ãã€ã¡ãŒãžãã¡ã€ã«ã®ã¹ãã¬ãŒãžãã©ã«ããŒãšããŒã¹åãæå®ããããæ±ããããŸãã ãSplashScreenãã®ååãå¿ é ã§ã¯ãªãããã«ããAssetsããã©ã«ããŒã¯ç»åãä¿åããããã®å¿ é ã®å Žæã§ã¯ãããŸããããå€ããããžã§ã¯ãã転éããå Žåã«ã®ã¿ãããã倿Žããå¿ èŠãçããå ŽåããããŸãã ä»ã®å Žåã§ã¯ãåºæ¬çãªå€ã䜿çšããæ¹ãã¯ããã«ç°¡åãªã®ã§ãç§ã®ãããžã§ã¯ãã§ã¯ååãšãã¹ã倿ŽããªããŸãŸã«ããŸãã ãŸããããŒã¹åãæå®ãããšãã«ãã¹ã±ãŒã«ã®è¡šç€ºã远å ããå¿ èŠããªãããšã«ã泚æããŠãã ããã äžã®ãŠã£ã³ããŠã§éžæãããšãååã«ãã®ãããªãã¬ãã£ãã¯ã¹ãèªåçã«è¡šç€ºãããŸãã
å®éãäžã®ãŠã£ã³ããŠã«ã¯ãã€ã³ã¹ããŒã«ãããŠããç»åã®ãã¬ãã¥ãŒãšãåã¹ã±ãŒã«ã®éžæçšã®ãã¿ã³ãå«ãŸããŠããŸãã ãŸãããŠã£ã³ããŠã®æšªã«ã¯ãç¹å®ã®çž®å°ºã«å¯ŸããŠç»åã®ãµã€ãºã瀺ããã³ãããããŸãã ãæ³åã®ãšãããä»»æã®ååã§é©åãªãµã€ãºã®ç»åãéžæãããšãæå®ããååã§æå®ããããã©ã«ããŒã«é 眮ããã瞮尺ããŒã¿ã远å ãããŸãã
èæ¯è²ãšç»åãéžæããããã¢ããªã±ãŒã·ã§ã³ãèµ·åããŠã倿Žã®çµæã確èªã§ããŸãã

ããã§ãæšæºã®ã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã®æºåãã§ããŸãããæ¬¡ã¯ãé«åºŠãªããŒãžã§ã³ã®äœæã«é²ã¿ãŸãã åè¿°ããããã«ãããè€éãªããã°ã©ã ã§ã¯ãã¹ã¯ãªãŒã³ã»ãŒããŒã®æšæºã€ã¡ãŒãžã®ä»£ããã«ãããŠã³ããŒãã¹ããŒã¿ã¹ã®ã¹ã¯ãªãŒã³ã»ãŒããŒã衚瀺ãããŸãã æ¡åŒµãããUWPã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã¯åãæ©èœãå®è¡ããŸãããéå§æã«é·ãã¿ã¹ã¯ãããå Žåã«ã®ã¿äœ¿çšããã®ãçã«ããªã£ãŠããŸãã ç§ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããããã®ã¿ã¹ã¯ã«ã¯ãä¿åã®ããŒãã倿Žã®åæèšç®ããããã¯ãŒã¯äžã®ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãè³Œå ¥ã®ç¢ºèªãå«ãŸããŸãã ç°ãªãããã€ã¹ã§ã¯ãããããã¹ãŠã®ã¿ã¹ã¯ã«ç°ãªãæéãããããŸããçŸæç¹ã§åŒ±ãããã€ã¹ã§ã¯ããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ããã³ã°ããªãã£ãããšããŠãŒã¶ãŒãçè§£ããŠãããšäŸ¿å©ã§ãã
ããã¥ã¡ã³ããŒã·ã§ã³ã§ä¿®æ£ããããæ¡åŒµã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ããšããååã«ãããããããå®éã«ã¯ãããŒãã€ã³ãžã±ãŒã¿ãŒã远å ããŠã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ãã·ãã¥ã¬ãŒãããèªå·±äœæããŒãžãæ±ããŸãããããã®å Žåããäžèšã§èª¿ã¹ãæšæºã¹ã¯ãªãŒã³ã®è¡šç€ºãå è¡ããŸãã ã ãã®çµæãæ¡åŒµã¹ã¯ãªãŒã³ã»ãŒããŒã¯ã»ãšãã©ã®éšåã§æšæºãç¹°ãè¿ããæšæºã®åŸã«æãã¹ã ãŒãºã«è¡šç€ºãããã¯ãã§ãã
èšèšã®èгç¹ããèŠããšããã®æ®µéã¯éåžžã«éèŠã§ãããæ³ååã«å¿ããŠãã¢ããªã±ãŒã·ã§ã³ã®èªèã«å€§ããªåœ±é¿ãäžããéåžžã«è峿·±ãé åçãªã¹ã¯ãªãŒã³ã»ãŒããŒãäœæã§ããŸãããã®ããããã®æé ãéå°è©äŸ¡ãããæ¬¡ã®ãããªå¹³å¡ãªããŠã³ããŒãã€ã³ãžã±ãŒã¿ãŒã«éå®ããŠãã ããProgressRingã
å°ãèããŠããã«ã®ãã¬ãŒããå転ãããè² è·ã®çŸåšã®ç¶æ ã衚瀺ããããã¹ãè¡ã远å ããããšã«ãããè² è·è¡šç€ºãå®è£ ããããšã«ããŸããã ãããã£ãŠãèšç»ã©ãããæšæºç»é¢ã¯éãã«æ¡åŒµç»é¢ã«å€ããããã¬ãŒããå転ãå§ããããã¹ããäžã«è¡šç€ºãããŸãã ãããããã®åé¡ã®æåã®ã¹ããããèžããšãå©çšå¯èœãªè³æãåé¡ãå®å šã«ã«ããŒããŠãããããããã®ããã€ãã¯æãæåãããã¯ã©ã³ããã§ã¯ãªã䜿çšãããŠãããšããçµè«ã«éããŸããã
以äžã§ã¯ããããã¯ãŒã¯äžã®èšäºãšå ¬åŒã¬ã€ãã«åºã¥ããŠãã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ãäœæããããã®ç¬èªã®ã¬ã·ãã説æããŸãããããã§ããããã¯ç°ãªããŸãã
ã¹ããã1.空çœã®ããŒãžãäœæãã
äžã§è¿°ã¹ãããã«ãæ¡åŒµã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã¯éåžžã®ã¢ããªã±ãŒã·ã§ã³ããŒãžã§ãããåºæ¬çãªã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã«ã§ããã ãé¡äŒŒãããã®ã«ããŸãã ãããžã§ã¯ãã«æ°ããããŒãžã远å ããã«ã¯ã[ãããžã§ã¯ã]> [æ°ããã¢ã€ãã ã®è¿œå ]ã¡ãã¥ãŒã«ç§»åãã衚瀺ããããã€ã¢ãã°ã§[空çœããŒãž]ã¢ã€ãã ãéžæããŸãã å ¬åŒããã¥ã¡ã³ãã§ã¯ããã®ããŒãžã®ååãšããŠãExtendedSplashãã䜿çšããããšããå§ãããŸããä»ã®ååãèªç±ã«éžæã§ããŸãããããã«ã¯å®¢èгçãªçç±ã¯ãããŸããã ææ¡ãããååã瀺ããã远å ããã¯ãªãã¯ããŸãã
æ°ããäœæãããããŒãžã¯2ã€ã®ãã¡ã€ã«ã§æ§æãããŸãã1ã€ã¯ExtendedSplash.xamlãããŒã¯ããããã®ãã®ã§ããã1ã€ã¯ã³ãŒãExtendedSplash.xaml.cs / vbã®ããã®ãã®ã§ãã å°ãåŸã§ãããã«æ»ããŸãããä»ã®ãšããã¯æ¬¡ã®ã¹ãããã§ãã
æé 2. ExtendedSplashãéå§ãšããŠå²ãåœãŠã
å ¬åŒã¬ã€ãã§ã¯ããã®æé ã¯æåŸã«è¡ãããŸãããäºåã«è¡ãããšã奜ã¿ãŸãã å®éã®ãšãããåœã远å ããŠã·ã¹ãã ã¹ãã©ãã·ã¥ç»é¢ã®ããåŸãã«è¡šç€ºããã ãã§ã¯äžååã§ããããã App.xaml.cs / vbãã¡ã€ã«ã§ããã€ãã®æäœãå®è¡ããå¿ èŠããããŸãã
åã®èšäºã§æãåºããããã«ãããã¯ãã®ã©ã€ããµã€ã¯ã«ãæ åœããã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãã¡ã€ã«ã§ãã ç¹ã«ãOnLaunchedããã·ãŒãžã£ããããŸãããã®ããã·ãŒãžã£ã¯ãã¢ããªã±ãŒã·ã§ã³ã®èµ·åæã«ããã«å®è¡ãããéå§ããŒãžãèšå®ãããŸãã
æ°ãããããžã§ã¯ãïŒVB.NETïŒãäœæããçŽåŸã®ãã®æé ã®ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
Protected Overrides Sub OnLaunched(e As Windows.ApplicationModel.Activation.LaunchActivatedEventArgs) Dim rootFrame As Frame = TryCast(Window.Current.Content, Frame) If rootFrame Is Nothing Then rootFrame = New Frame() AddHandler rootFrame.NavigationFailed, AddressOf OnNavigationFailed If e.PreviousExecutionState = ApplicationExecutionState.Terminated Then End If Window.Current.Content = rootFrame End If If e.PrelaunchActivated = False Then If rootFrame.Content Is Nothing Then rootFrame.Navigate(GetType(MainPage), e.Arguments) End If Window.Current.Activate() End If End Sub
ã³ãŒããæžããããã«ãã³ã¡ã³ãã¯åé€ãããŸããã
ãã®æé ã§äœãèµ·ãã£ãŠããããå®å šã«çè§£ããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ãšããã²ãŒã·ã§ã³ãããæ·±ãçè§£ããå¿ èŠããããŸãããããã«ã€ããŠã¯æ¬¡ã®ããããã®èšäºã§èª¬æããŸãã ãããŸã§ã®ãšããããã®ã³ãŒãããçè§£ããå¿ èŠãããã®ã¯ãæåã«ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ãã³ãïŒããžã¥ã¢ã«ã«ãŒãïŒãšããŠèšå®ãããFrameãªããžã§ã¯ããäœæããæ¬¡ã«ãã®ãã¬ãŒã ãã¢ããªã±ãŒã·ã§ã³ã®MainPageããŒãžã«ç§»åããããšã§ãã
ããã§ã¯ãMainPageã®ä»£ããã«ExtendedSplashãèšå®ããå¿ èŠããããšæ³å®ããã®ãè«ççã§ããéå§ããŒãžãšããŠç®çã®ããŒãžãååŸããŸããããã®å ŽåãExtendedSplashããŒãžã¯ããã²ãŒã·ã§ã³å±¥æŽã«ä¿åãããæ»ãããšãã§ããããããã®ãªãã·ã§ã³ã¯é©ããŠããŸãããããã¯å¿ èŠãããŸããã ãã®åé¡ã解決ããã«ã¯ãããã²ãŒãããã®ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³ã³ã³ãã³ãããã¬ãŒã ã§ã¯ãªããExtendedSplashã«çŽæ¥èšå®ããŸããããã¯ãPageãªããžã§ã¯ãã§ãããã¢ããªã±ãŒã·ã§ã³ã®èŠèŠçãªã«ãŒãã«ããªããŸãã
ã³ãŒããæ¬¡ã®ããã«ä¿®æ£ããŸãã
Protected Overrides Sub OnLaunched(e As Windows.ApplicationModel.Activation.LaunchActivatedEventArgs) Dim rootFrame As Frame = TryCast(Window.Current.Content, Frame) If rootFrame Is Nothing Then rootFrame = New Frame() AddHandler rootFrame.NavigationFailed, AddressOf OnNavigationFailed If (e.PreviousExecutionState <> ApplicationExecutionState.Running) Then Window.Current.Content = New ExtendedSplash(e.SplashScreen) End If End If If e.PrelaunchActivated = False Then If rootFrame.Content Is Nothing Then rootFrame.Navigate(GetType(MainPage), e.Arguments) End If Window.Current.Activate() End If End Sub
ãæ°ã¥ãã®ããã«ãã³ãŒããããã¯ã¯æåã®æ¡ä»¶ã§å€æŽãããŸããã ãã®ãããã¯ã®äžéšã§ãã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããŠãããã©ããã確èªããå®è¡ãããŠããªãå Žåã¯ãæ°ããExtendedSplashããŒãžãªããžã§ã¯ããã¢ããªã±ãŒã·ã§ã³ã³ã³ãã³ããšããŠå²ãåœãŠãããŸãã
ãŸãããã©ã¡ãŒã¿ãŒãšããŠãæ°ããExtendedSplashã¯ã©ã¹ã宣èšãããšãã«ãSplashScreenã¯ã©ã¹ãæå®ãããŸãã ãã®ã¯ã©ã¹ã¯ãã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³äžã®ç»åã®ãµã€ãºãšäœçœ®ã«é¢ããæ å ±ãå«ããããæ¡åŒµã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ãäœæããéèŠãªéšåã§ããããã«ãããããŒã¹ã¹ã¯ãªãŒã³ãéãã«ç¬èªã®ãã®ã«çœ®ãæããããšãã§ããŸãã ãã®ã¯ã©ã¹ã«å¿ èŠãªããŒã¿ãå«ãŸããããã«ãOnLaunchedããã·ãŒãžã£ãã·ã¹ãã ããåãåã£ãåŒæ°ããååŸããŸãã
æåŸã®ä»äžãããããŸãã ã³ãŒããã¡ã€ã«æ¡åŒµåExtendedSplash.xaml.cs / vbã§ãSplashScreenåã®ãªããžã§ã¯ããåãå ¥ããNewã³ã³ã¹ãã©ã¯ã¿ãŒã远å ããå¿ èŠããããŸãã
Public Sub New(splashscreen As SplashScreen) InitializeComponent() End Sub
ããã§ãã¢ããªã±ãŒã·ã§ã³ãèµ·åãããšãMainPageã§ã¯ãªãExtendedSplashããŒãžã衚瀺ãããŸããããã«ãããããŒãžã¬ã€ã¢ãŠãã«å ãããã倿Žãããã«ç¢ºèªã§ããã³ãŒãããããã°ããæ¹ã䟿å©ã§ãã
ã¹ããã3.ããŒãžã¬ã€ã¢ãŠã
ExtendedSplashããŒãžã®ã¬ã€ã¢ãŠãã«ãããæåã®æãç°¡åãªå€æŽã¯ãããŒãžã®èæ¯è²ãã¡ã€ã³ã®ã¹ãã©ãã·ã¥ç»é¢ãšåãè²ã«èšå®ããããšã§ãã æ°ããäœæãããããŒãžã«ã¯ãèæ¯ããããã£ãæã€ã°ãªããã«ãŒãèŠçŽ ãæ¢ã«å«ãŸããŠããŸãã ããã©ã«ãã§ã¯ããã®ããããã£ã¯ã·ã¹ãã ãªãœãŒã¹ãèšå®ããŸããã以åã¯ã¢ããªã±ãŒã·ã§ã³ãããã§ã¹ãã§æå®ãããŠããè²ã«çœ®ãæããŸãã ååãšããŠãè²ã®å€ã¯çŽæ¥ã®Background = "ïŒfae57a"ãæãããšãã§ããŸãããã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã«ã©ãŒã¯ç¹å¥ãªãã¡ã€ã«ApplicationStyle.xamlã«ä¿åããŸã ãããã«ã€ããŠã¯ãåã®èšäºã®æåŸã§èª¬æããŸããã èæ¯ã®ãªãœãŒã¹ã¯ãBackgroundBrushããšåŒã³ãé©åãªå Žæã§åç §ããŸãã
ã¹ã¿ã€ã«ãªãœãŒã¹ãã¡ã€ã«ïŒ
<SolidColorBrush x:Key="BackgroundBrush" Color="#fae57a"/> ExtendedSplash.xaml: <Grid Background="{StaticResource BackgroundBrush}"âŠ
ãããŠæåŸã«ãç§ãã¡ã®æ¹æ³ãšå ¬åŒã¬ã€ããä»ã®èšäºã«èšèŒãããŠããæ¹æ³ãšã®äž»ãªéããå§ãŸãå Žæã«çããŸããã
å ¬åŒããã¥ã¡ã³ãã®èšäºãæ¢ã«åŠç¿ããŠããå Žåã¯ãCanvasèŠçŽ ã䜿çšããŠç»åãããŒãžã«é 眮ããããšãææ¡ããŠããããšã«æ°ã¥ããŸããã ç»åããµã€ãºã ãã§ãªãäœçœ®ãèšå®ã§ããããã«ããå¿ èŠããããŸãããå®éã«ã¯ããã¹ãŠãæåŸ ã©ããã«å®å šã«ç§»åããããã§ã¯ãããŸããã
ããã¥ã¢ã«ã®äœæè ã¯ãã¹ãã©ãã·ã¥ç»é¢ã®ç»åã¯ç¶æ³ã«ãã£ãŠç°ãªãæ¹æ³ã§æ¡å€§çž®å°ã§ãããšããäºå®ããé²ãã§ããŸãã ãã®çç±ã¯ãããŸããŸãªããã€ã¹ã®ã¹ã±ãŒãªã³ã°ä¿æ°ãšãPCã®ãŠã£ã³ããŠã®ãµã€ãºã®äž¡æ¹ã§ããå¯èœæ§ããããŸãã ãããã®ãã¹ãŠã®ç¶æ³ã§ã®ããŒã¹ã€ã¡ãŒãžã®åäœã¯ã·ã¹ãã ã«ãã£ãŠèŠå¶ãããŠããããã®åäœãã·ãã¥ã¬ãŒãã§ããããã«ãåè¿°ã®SplashScreenã¯ã©ã¹ãæäŸãããŸãããã®ã¯ã©ã¹ã®å¯äžã®ããããã£ã¯Rectåã®ImageLocationã§ãã ãã®ããããã£ã«ã¯ãç»åã®ãµã€ãºïŒå¹ ãé«ãïŒãšäœçœ®ïŒXãYïŒã«é¢ããæ å ±ãå«ãŸããŠããŸãããããã£ãŠãå©çšå¯èœãªããŒã¿ã«åºã¥ããŠç»åãæäœããã«ã¯ãCanvasèŠçŽ ãé©åã§ããããã®ãããªãã©ã¡ãŒã¿ãŒã«åºã¥ããŠãªããžã§ã¯ããæäœããããšãé©åã§ãã
å®éãæšå¥šãããããã«æ¡åŒµã¹ã¯ãªãŒã³ã»ãŒããŒãå®è£ ãããšããã¹ãŠãæ©èœããŸãããPCã§ã®ã¿æ©èœããŸãã é»è©±ã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããšãå®å šã«äºæž¬äžå¯èœãªå€èº«ãèµ·ããå§ããŸãã ç»åã衚瀺ãããªãããæ£ãã衚瀺ãããŸããã ç»é¢ãæ°Žå¹³äœçœ®ã§å転ããããšãç»åã¯ç»é¢ã®ç«¯ãŸã§éããéšåçã«åãåãããåçŽäœçœ®ã«æ»ã£ããšãã«ã®ã¿é©åãªå Žæã«ç§»åããŸãã
ãããã¯ãŒã¯äžã§ã®å€ãã®è°è«ãšãä¿®æ£ãæšå¥šãããŠããèšäºãã倿ãããšãåæ§ã®åé¡ã«ééããã®ã¯ç§ã ãã§ã¯ãªããšçµè«ä»ããããšãã§ããŸãã ç§ãèŠã€ããæã人æ°ã®ãããœãªã¥ãŒã·ã§ã³ã¯ãããã€ã¹ããšã«ç°ãªãããŒã¯ã¢ããã䜿çšããããšããå§ãããŸãã PCçšã®ãã£ã³ãã¹ãšã¢ãã€ã«çšã®ã°ãªããã ãã®æ±ºå®ãå®å šã«ç¹°ãè¿ããŠãã³ã³ããŒãã¡ã³ãã«å®è¡å¯èœãªã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã衚瀺ãããéå°ãªæŸèæã䜿çšããŠãããšåŒ·ãæããŸããã
æçµçã«ãåºæ¬ç»é¢ã§æ£ç¢ºã«äœãèµ·ãã£ãŠããã®ãããããã©ã®çšåºŠã·ãã¥ã¬ãŒãããå¿ èŠãããã®ãââãåå¥ã«ææ¡ããããšã«ããŸããã ããŸããŸãªããã€ã¹ãšãšãã¥ã¬ãŒã¿ãŒã§ã®äžé£ã®å®éšã®çµæãã€ã¡ãŒãžã®äœçœ®ã«é¢ããæ å ±ãå®å šã«æŸæ£ã§ããããšã«æ°ä»ããŸããã ãŠã£ã³ããŠã®ãµã€ãºãããã€ã¹ã®ã¿ã€ãããŸãã¯ãã®åãã«é¢ä¿ãªããã¡ã€ã³ã®ã¹ãã©ãã·ã¥ç»é¢ã®ç»åã¯åžžã«ç»é¢ã®äžå€®ã«è¡šç€ºãããŸãã ãããã£ãŠãç»åã®ãµã€ãºã«é¢ããæ å ±ã®ã¿ãæœåºã§ããåºæ¬ç»é¢ãç°¡åã«ç¹°ãè¿ãããšãã§ããŸãã
æåã®æ®µéã§ã®ç§ã®ãŠã£ã³ããŠã¬ã€ã¢ãŠãã¯æ¬¡ã®ããã«ãªããŸãã
<Grid Background="{StaticResource BackgroundBrush}"> <Image x:Name="SplashScreenImage3" Source="Assets/SplashScreens/SplashScreen3.png" Canvas.ZIndex="3" HorizontalAlignment="Center" VerticalAlignment="Center"/> <Image x:Name="SplashScreenImage2" Source="Assets/SplashScreens/SplashScreen2.png" Canvas.ZIndex="2" HorizontalAlignment="Center" VerticalAlignment="Center"/> <Image x:Name="SplashScreenImage1" Source="Assets/SplashScreens/SplashScreen1.png" HorizontalAlignment="Center" VerticalAlignment="Center"/> <TextBlock x:Name="LoadingSatatusTextBox" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,20" TextAlignment="Center" Foreground="{StaticResource ForegroundBrush}" FontWeight="Bold"/> </Grid>
åæãå§ããåã«ãåå¿è ã®éçºè ã«é£çµ¡ããããšæããŸãã XAMLããŒã¯ã¢ããèšèªãåããŠäœ¿çšããå Žåã¯ããŠã£ã³ããŠãã¶ã€ããŒïŒã³ã³ã¹ãã©ã¯ã¿ãŒãšãåŒã°ããïŒã§ã®äœæ¥ãã§ããéãå°ãªãããããšã匷ããå§ãããŸãã Visual Studioã®æ°ããããŒãžã§ã³ããšã«æ¹åãããŠããŸãããäŸç¶ãšããŠäžæ£ç¢ºãªããŒã«ã§ãã ããšãã°ãImageã³ã³ãããŒã«ãããŒãžã«ãã©ãã°ãããšãäžå€®ã«é 眮ããããã«èŠããå ŽåããããŸãããå®éã«ã¯ãåçŽããã³æ°Žå¹³äœçœ®ã®ããããã£ã§ã¯ãªããã€ã³ãã³ãã«åºã¥ããŠé 眮ãèšå®ã§ããŸãã ããŒã¯ã¢ããã§ã¯ã2ã€ã®ããããã£ïŒHorizoâântalAlignmentããã³VerticalAlignmentïŒãé€ããç»åã®äœçœ®ã«åœ±é¿ãäžããã€ã³ãã³ãããã®ä»ã®èŠå ãé€å€ããããšãéåžžã«éèŠã§ãã
ããããããŒã¯ã¢ããã«æ»ããŸãã ãšã©ãŒãªãã§æ©èœããããã«ã¯ãImageèŠçŽ ã®ãœãŒã¹ãšããŠäœ¿çšããããããžã§ã¯ãã«ç»åãã¡ã€ã«ã远å ããå¿ èŠããããŸãã ãSplashScreensããã©ã«ããŒãAssetsãã®ãµããã©ã«ããŒã«é 眮ããŸããã ãããžã§ã¯ãã«ç»åã远å ããã«ã¯ãç®çã®ãã©ã«ããŒãå³ã¯ãªãã¯ããŠãã¡ãã¥ãŒé ç®ã远å >æ¢åã®é ç®...ããéžæããŸãã 鿢èŠçŽ ãšç§»åèŠçŽ ãåé¢ããå¿ èŠãããããã3ã€ã®ç»åããããŸãã

æåã®ç»åãš3çªç®ã®ç»åã¯åºæ¬620x300ãã¯ã»ã«ïŒæšæºçž®å°ºïŒãšåããµã€ãºã§ããã3çªç®ã®ç»åã«ã¯ç»åå šäœãšåãå Žæã«ã¢ã€ã³ã³ãå«ãŸããæ®ãã®éšåã¯éæã§ããããšã«æ³šæããããšãéèŠã§ãã ããã¯ãäºãã®çžå¯Ÿçãªé 眮ã«ãããåŽåãæå°éã«æããããã«è¡ãããŸãã ãã¬ãŒãã®ç»åã¯ãšããžã®äžã§ããªãã³ã°ãããäœåãªã»ã¯ã·ã§ã³ã¯ãããŸããã
3ã€ã®ç»åã¯ãã¹ãŠãããŒãžã®äžå€®ã«å³å¯ã«é 眮ãããŸãã ãã®äŸã§ã¯ãã°ãªããèŠçŽ ã®äžå¿ã§ãããããŒãžã®ã«ãŒãèŠçŽ ã§ãããã€ã³ãã³ãããªãããããã®äžå¿ã¯ããŒãžã®äžå¿ã«çãããªããŸãã æ¬¡ã«ããã¬ãŒãããã«ã®èåŸã«ãããšããç¶æ³ã«ãªããªãããã«ãéãªãåãç»åã®æ£ããé åºãèšå®ããå¿ èŠããããŸãã ãããè¡ãã«ã¯Canvas.ZIndexããããã£ã䜿çšããŸããImageèŠçŽ ãããŒã¯ã¢ããã«é 眮ãããé åºã¯é¢ä¿ãããŸãããããã®ããããã£ã®å€ã®ã¿ãéèŠã§ãã å€ãé«ãã»ã©ãèŠçŽ ã®éãªãã倧ãããªããŸãïŒZ軞ïŒã
ããŒã¯ã¢ããã®æåŸã®èŠçŽ ã¯ãããŠã³ããŒãã¹ããŒã¿ã¹ã衚瀺ããããã¹ããããã¯ã§ãã ããã¯ãæ°Žå¹³é¢ã«å¯ŸããŠäžå€®ã«ãããæ¯èŒçåçŽã®äžã«ãããŸãã ãŸããããã¹ããç»é¢ã®ç«¯ã«ããã£ã€ããªããããã«ãäžããå°ããªã€ã³ãã³ãã瀺ãããŠããŸãã ããã«2ã€ã®ããããã£ãããã¹ãã®è²ãšã¹ã¿ã€ã«ã瀺ããŸãã
ããã¹ãã®è²ã®ãªãœãŒã¹ã¯æ¬¡ã®ããã«èšå®ãããŸãã
<SolidColorBrush x:Key="ForegroundBrush" Color="#c89103"/>
ãã®æç¹ã§ãããŒãã³ã°ã䜿çšããäœæ¥ã®æåã®æ®µéã¯å®äºãããšèŠãªãããšãã§ããŸããããã¬ãŒãã®å転ã¢ãã¡ãŒã·ã§ã³ã远å ãããšãã«ãã®æ®µéã«æ»ããŸãã
ã¹ããã4.ããŒãžã³ãŒã
äœæ¥ã®æãéèŠãªéšåã¯ããã¡ã€ã«ExtendedSplash.xaml.cs / vbã«ããããŒãžã³ãŒãã§è¡ãããŸãã
æåã®ã¹ãããã¯ãWindows.UI.Coreåå空éãã€ã³ããŒãããåŸã®ã³ãŒãã§å¿ èŠã«ãªã倿°ã远å ããããšã§ãã
Imports Windows.UI.Core Public NotInheritable Class ExtendedSplash Inherits Page Friend splashImageRect As Rect Private splash As SplashScreen Friend ScaleFactor As Double Public Sub New(splashscreen As SplashScreen) InitializeComponent() End Sub End Class : Public Sub New(splashscreen As SplashScreen) InitializeComponent() AddHandler Window.Current.SizeChanged, AddressOf ExtendedSplash_OnResize splash = splashscreen If splash IsNot Nothing Then AddHandler splash.Dismissed, AddressOf DismissedEventHandler ScaleFactor = DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel splashImageRect = splash.ImageLocation SetSizeImage() End If End Sub
ã³ãŒãã¯ãã«ãŒãã³ã³ãããŒã®ãµã€ãºå€æŽã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããããšããå§ãŸããŸãã ããã¯ããŠã£ã³ããŠãµã€ãºãŸãã¯ããã€ã¹ã®åãã倿Žããããšãã«ç»åãµã€ãºã倿Žããããã«å¿ èŠã«ãªããŸãã æ¬¡ã«ãåŒæ°ã§æž¡ãããSplashScreenã¯ã©ã¹ãããŒã«ã«å€æ°ã«è»¢éãããŸããããŒã«ã«å€æ°ã¯ãå¿ èŠãªç»åãµã€ãºã«é¢ããæ å ±ãåç §ããŸãã
空ã§ãªãã¯ãã®ããŒã«ã«ã¹ãã©ãã·ã¥å€æ°ã確èªããåŸãããã«æäœãé²ããŸãã ããã§ãã·ã¹ãã ã¹ãã©ãã·ã¥ç»é¢ãéãããšãã«çºçããDismissedã€ãã³ãã«ãµãã¹ã¯ã©ã€ãã§ããŸãã ãã®ç¹ã¯ãã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã®äžè¬çãªåçãçè§£ããããã«éèŠã§ãã å®éãã³ãŒããNewããã·ãŒãžã£å ã§å®è¡ãããŠããéãããŒãžã¯ãŸã åæåäžã§è¡šç€ºã®æºåãã§ããŠããŸããããããã£ãŠãåºæ¬çãªã¹ãã©ãã·ã¥ç»é¢ã¯ã¢ããªã±ãŒã·ã§ã³ããä¿è·ãããå®è¡äžãšç®çã®ããŒãžã衚瀺ãããããšã瀺ããŸãã å€ãã®ç¹ã§ãéçãªãããã§ã¯ãªããé·æéã®åæåããã»ã¹ãã©ã€ãèŠèŠåã«äŒŽãããã«ãæ¡åŒµã¹ãã©ãã·ã¥ç»é¢ãå¿ èŠãªçç±ã§ãã
ã³ãŒãã®æ¬¡ã®è¡ã¯ããµã€ãºãæ£ããè§£éããããã«çŸåšã®ã¹ã±ãŒãªã³ã°ä¿æ°ãä¿åãããµã€ãºèªäœã¯ããã«ã³ãŒãã®å€æ°splashImageRectã«æ ŒçŽãããŸãã ãããŠæåŸã«ãæåŸã®è¡ãããã·ãŒãžã£ãåŒã³åºããåä¿¡ãããã¹ãŠã®ããŒã¿ãæäœããŸãã
ãã¡ããããã®ã³ãŒãã远å ãããšãäžèšã®ã€ãã³ããé¢é£ä»ããããŠããããã·ãŒãžã£ããªããSetSizeImageããã·ãŒãžã£ãååšããªãããã3ã€ã®ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãã
ãããã远å ããŸãã
Private Sub SetSizeImage() End Sub Private Sub DismissedEventHandler(sender As SplashScreen, args As Object) End Sub Private Sub ExtendedSplash_OnResize(sender As Object, e As WindowSizeChangedEventArgs) End Sub SetSizeImage: Private Sub SetSizeImage() SplashScreenImage1.Height = splashImageRect.Height / ScaleFactor SplashScreenImage1.Width = splashImageRect.Width / ScaleFactor SplashScreenImage2.Width = splashImageRect.Width / ScaleFactor * 0.3073 SplashScreenImage2.Margin = New Thickness(-splashImageRect.Width / ScaleFactor * 0.547, -splashImageRect.Width / ScaleFactor * 0.1633, 0, 0) SplashScreenImage3.Height = splashImageRect.Height / ScaleFactor SplashScreenImage3.Width = splashImageRect.Width / ScaleFactor ScaleFactor = 1 End Sub
ãã®ã³ãŒãã¯ãããŒãžã«é 眮ãããåç»åã®ãµã€ãºãé çªã«èšå®ããŸãã 1çªç®ãš3çªç®ã®ç»åã®å Žåãç»åã®å¹ ãšé«ããSplashScreenã¯ã©ã¹ããåé€ãããã®ã«çããèšå®ããã¹ã±ãŒãªã³ã°ä¿æ°ã調æŽããã ãã§ååã§ãã ScaleFactor倿°ã®æåŸã®è¡ã1ã«èšå®ãããŠããããã®ããã·ãŒãžã£ãå床åŒã³åºããšãã¹ã±ãŒãªã³ã°ä¿æ°ã®èª¿æŽãå®éã«è¡ãããªãããšã«æ³šæããŠãã ããã ããã¯ãå ¬åŒã¬ã€ãã®ãœãªã¥ãŒã·ã§ã³ãã¢ãã€ã«ã§æ©èœããªãã®ãšåãåé¡ã«ãããã®ã§ãã äœããã®çç±ã§ãSplashScreenã¯ã©ã¹ã¯ãæåã«ã¹ã±ãŒãªã³ã°ä¿æ°ãèæ ®ã«å ¥ããŠç»åã®ãµã€ãºãéç¥ããããã€ã¹ã®å転ãªã©ã®ãããªãæäœãªãã§è¡šç€ºãããŸãã ãã®ãããåæåäžã«ããã®ä¿æ°ã¯æåã®æäœã®ããã«ä¿åããããã以éã®ä¿æ°ã§ã¯1ã«ãªã»ãããããŸãã
Windows 10ã®ä»åŸã®ãã«ãã®1ã€ã§ã¯ããã®å¥åŠãªç¶æ³ãè§£æ¶ãããå¯èœæ§ãããããã®ã³ãŒãã倿Žããå¿ èŠããããŸããããããŸã§ã®ãšãããFall Creators UpdateãŸã§ã®ãªãªãŒã¹ããããã¹ãŠã®ã¢ã»ã³ããªã§æ£åžžã«åäœããŸãã
å¥ã®èæ ®äºé ã¯ã2çªç®ã®ç»åã®ãµã€ãºèšå®ã§ãã ããæ£ç¢ºã«ã¯ããã®å Žåããµã€ãºãèšå®ããã ãã§ãªããäœçœ®ãèšå®ããããšã«éå®ãããŸãããªããªããæåã¯ãã¬ãŒãããã«é åã§ã¯ãªãäžå€®ã«ããããã§ãã
ã¡ãªã¿ã«ãç»åã¯æ£æ¹åœ¢ã§ãããé«ããæ¯äŸããŠåããµã€ãºã«å€æŽããããããå¹ ãªã©ãçåŽã®ãµã€ãºã®ã¿ãèšå®ããã ãã§ååã§ãã ãµã€ãºãèšå®ããå Žåãã¹ã±ãŒãªã³ã°ä¿æ°ã®èª¿æŽã«å ããŠãã¡ã€ã³ç»åã«åºã¥ããŠãµã€ãºã調æŽããŸãã ããæ£ç¢ºã«ã¯ãç»åã®å¹ ãåºæºã«ããŠããã®ãµã€ãºãå ãããã¬ãŒãã®å²åãèšç®ããŸãã ç§ã®å Žåã0.3073ã§ãã
次ã«ãåãããžãã¯ã«åºã¥ããŠãç»åå šäœã®å¹ ãåºæºãšããŠãäžå¿ããç®çã®ãã€ã³ããŸã§ã®è·é¢ãèšç®ããŸãã æ¬¡ã®è¡ã§ã¯ãã€ã³ãã³ããå·Šã«æšå®è·é¢ãŸã§èšå®ããŸãã
ã¢ããªã±ãŒã·ã§ã³ãèµ·åãããã®æ®µéã§çµæãã¡ã€ã³ã®ã¹ãã©ãã·ã¥ç»é¢ãšèŠèŠçã«å€ãããªãããšã確èªããŸãã ããã§ãã¢ãã€ã«ã§ã¢ããªã±ãŒã·ã§ã³ãèµ·åãããšãããŒã¹ã®ã€ã¡ãŒãžã«æ¯ã¹ãŠã€ã¡ãŒãžã®ããããªã·ãããèŠãããŸãã ããã¯ãããŒã¹ç»é¢ãç»é¢ã®äžå€®ã«äœçœ®ãããããé»è©±ã®äžéšã«ããã¹ããŒã¿ã¹ããŒãäžéšã®ã¢ãã«ã«ããäžéšã®ä»®æ³ãã¿ã³ããŒãªã©ã®ã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ãå®å šã«ç¡èŠããããã§ãã ã³ãŒãã«å¿ èŠãªå€æŽãå ããŸãããã
æåã«ãã¹ããŒã¿ã¹ããŒã®é«ããæ ŒçŽãã倿°ãæºåããŸãã
Friend statusBarRect As Rect : If Metadata.ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar") Then statusBarRect = StatusBar.GetForCurrentView.OccludedRect End If
ãã®ã³ãŒãã¯ãäžåºŠã«2ã€ã®é¢ã§è峿·±ããã®ã§ãã ãŸããããã§åããŠãé©å¿ã³ãŒãã«çŽé¢ããŠããŸããããã«ã€ããŠã¯ãåã®èšäºã§èª¬æããŸããã æ¡ä»¶ã®æ¬è³ªã¯ãã¿ãŒã²ããããã€ã¹äžã«ç®çã®ã¯ã©ã¹ãååšãããã©ããã確èªããååšããå Žåã¯ãæ¡ä»¶å ã®ã³ãŒãããšã©ãŒãªãã§å®è¡ãããããšã§ãã
ã¢ãããã£ãã³ãŒãã«ãããããããStatusBarãžã®ã¢ã¯ã»ã¹ã¯æåããããã®ãããªã¯ã©ã¹ãååšããªããšããã¡ãã»ãŒãžãåãåããŸãã ããã¯ãæåã«UWPã¢ããªã±ãŒã·ã§ã³ã«ã¯ãæäœãªãã§ãµããŒããããŠãããã¹ãŠã®ããã€ã¹ã§å®è¡ã§ããå ±éã³ãŒãã®ã¿ãå«ãŸããŠããããã§ãã ç¹å®ã®ãã©ãããã©ãŒã ã«åºæã®ã¯ã©ã¹ãžã®ãªã³ã¯ã¯åå¥ã«è¿œå ãããŸãã ã¹ããŒã¿ã¹ããŒã¯ã¢ãã€ã«ããã€ã¹ã«åºæã§ãããããæåã«ç®çã®ã¯ã©ã¹ã©ã€ãã©ãªãžã®ãªã³ã¯ã远å ããå¿ èŠããããŸãã [ãããžã§ã¯ã]> [ãªã³ã¯ã®è¿œå ...]ã¡ãã¥ãŒã«ç§»åããŸãã å·ŠåŽã«ããŠãããŒãµã«ãŠã£ã³ããŠãã»ã¯ã·ã§ã³ãšãµãã»ã¯ã·ã§ã³ãæ¡åŒµæ©èœãããããŸãã ã©ã€ãã©ãªã®ãªã¹ãã§ãUWPçšã®Windows Mobileæ¡åŒµæ©èœãã©ã€ãã©ãªãèŠã€ããã¢ããªã±ãŒã·ã§ã³ã®æå°ããŒãžã§ã³ã«çããããŒãžã§ã³ãéžæããŸãã
ããã§ãäžèšã®ã³ãŒãã¯ãšã©ãŒãªãã§æ©èœããŸãã ããæ£ç¢ºã«ã¯ãã¢ãã€ã«ã§ã®ã¿åäœããä»ã®ãã¹ãŠã®ããã€ã¹ã§ã¯ç¡èŠãããŸãã
æåŸã«ãäœçœ®æ±ºããšç»åãµã€ãºã®èšå®ã³ãŒããä¿®æ£ããŸãã
Private Sub SetSizeImage() SplashScreenImage1.Height = splashImageRect.Height / ScaleFactor SplashScreenImage1.Width = splashImageRect.Width / ScaleFactor SplashScreenImage1.Margin = New Thickness(0, -statusBarRect.Height, 0, 0) SplashScreenImage2.Width = splashImageRect.Width / ScaleFactor * 0.3073 SplashScreenImage2.Margin = New Thickness(-splashImageRect.Width / ScaleFactor * 0.547, -splashImageRect.Width / ScaleFactor * 0.1633 - statusBarRect.Height, 0, 0) SplashScreenImage3.Height = splashImageRect.Height / ScaleFactor SplashScreenImage3.Width = splashImageRect.Width / ScaleFactor SplashScreenImage3.Margin = New Thickness(0, -statusBarRect.Height, 0, 0) ScaleFactor = 1 End Sub
远å ãããã³ãŒãã¯ãåç»åãã¹ããŒã¿ã¹ããŒã®é«ããšçãããµã€ãºã ãäžæ¹ã«ã·ããããŸããã¢ããªã±ãŒã·ã§ã³ãä»»æã®ããã€ã¹ã§èµ·åããããšãç»åã¯åºæ¬ç»åãšåãå Žæã«é 眮ãããŸãã æ®å¿µãªããããã®ãœãªã¥ãŒã·ã§ã³ã¯ãŸã å®å šã§ã¯ãããŸããã äžéšã®é»è©±ã¢ãã«ã«ã¯ããŒããŠã§ã¢ãã¿ã³ããªãã代ããã«é»è©±ã³ã³ãããŒã«ãã¿ã³ãé»è©±èªäœã®ä»®æ³ããã«ã«é 眮ãããŠãããããåãã·ãã广ãçºçããæ€çŽ¢ããªãã£ãããããã®ããã«ã®é«ããååŸããå Žæã«é¢ããæ å ±ãèŠã€ãããŸããã§ããããŸããäžè¬çã«ãå¿ èŠãªå€æŽãè¡ãããã«ããã®ååšãŸãã¯äžåšã«é¢ããæ å ±ãåä¿¡ããŸãã ãã®æ å ±ãããå Žåã¯ãã³ã¡ã³ãã§å¿ ãå ±æããŠãã ããã
å¿ èŠãªèª¿æŽããã¹ãŠè¡ãããã®ã§ããŠã£ã³ããŠã®ãµã€ãºå€æŽãŸãã¯ããã€ã¹ã®åãã«å¯Ÿããåå¿ã远å ããå¿ èŠããããŸãã
Private Sub ExtendedSplash_OnResize(sender As Object, e As WindowSizeChangedEventArgs) If splash IsNot Nothing Then splashImageRect = splash.ImageLocation SetSizeImage() End If End Sub
ããã§ã¯ãã¹ãŠãéåžžã«ç°¡åã§ãã SplashScreenã¯ã©ã¹ãæ ŒçŽãããªããžã§ã¯ãã空ãã©ããã確èªãã空ã§ãªãå Žåã¯ãµã€ãºæ å ±ãåé€ããŠãããSetSizeImageããã·ãŒãžã£ãç¹°ãè¿ããŸãã
. , . , - , DismissedEventHandler. , . :
Private Async Sub DismissedEventHandler(sender As SplashScreen, args As Object) Await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, New DispatchedHandler(AddressOf DismissExtendedSplash)) End Sub
DismissExtendedSplash , . , Async Await, . : Await , , . Await / /, Async.
DismissExtendedSplash, :
Private Async Sub DismissExtendedSplash() LoadingSatatusTextBox.Text = " ..." Await Task.Delay(New TimeSpan(0, 0, 15)) Dim rootFrame As New Frame rootFrame.Navigate(GetType(MainPage)) Window.Current.Content = rootFrame End Sub
. , , . . , 15 . , 15 , .
, Frame, . , .
: , 15 .
5.
, , «». .
XAML :
<Grid Background="{StaticResource BackgroundBrush}"> <Grid.Resources> <Storyboard x:Name="ImageRotateAnimation"> <DoubleAnimation Storyboard.TargetName="ImageRotate" Storyboard.TargetProperty="Angle" To="360" BeginTime="0:0:0.5" Duration="0:0:5" RepeatBehavior="Forever"/> </Storyboard> </Grid.Resources> <Image x:Name="SplashScreenImage3" Source="Assets/SplashScreens/SplashScreen3.png" Canvas.ZIndex="3" HorizontalAlignment="Center" VerticalAlignment="Center"/> <Image x:Name="SplashScreenImage2" Source="Assets/SplashScreens/SplashScreen2.png" Canvas.ZIndex="2" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5 0.5"> <Image.RenderTransform> <RotateTransform x:Name="ImageRotate" Angle="0"/> </Image.RenderTransform> </Image> <Image x:Name="SplashScreenImage1" Source="Assets/SplashScreens/SplashScreen1.png" HorizontalAlignment="Center" VerticalAlignment="Center"/> <TextBlock x:Name="LoadingSatatusTextBox" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,20" TextAlignment="Center" Foreground="{StaticResource ForegroundBrush}" FontWeight="Bold"/> </Grid>
. -, 0 . , .
-, Storyboard, Double. Double . . , .
, . New :
ImageRotateAnimation.Begin
, , .

.
, , , .