今回はCordovaアプリでの画像ファイルやフォント、jQuery/jQuery UIの使い方の基本を説明し、最後にIonicフレームワークを紹介する。
powered by Insider.NET
Visual Studio Tools for Apache Cordova(以降「VS Tools for Cordova」)を使うと、iOS/AndroidそしてWindows/Windows Phoneのクロスプラットフォーム開発ができる。使い慣れたVisual Studioで、iOSとAndroidのアプリも簡単に開発できるのである。
前回は、VS Tools for Cordovaをインストールして、実際にごく簡単なアプリを作ってみた。今回は、画像ファイルなどのリソースの使い方と、開発が楽になるJavaScriptライブラリについて解説しよう。
画像ファイルやフォントファイルなどの扱いは、Webページと同じである(ただし、必ず相対パス指定を使わなければならない)。また、画面遷移もWebページと同様だ。
新しくプロジェクトを作って、画像とフォントを使ってみよう。作るアプリは、前回と同様のデジタル時計である。今回は、画像とフォントを変えてみようというわけだ。また、簡単な画面遷移も試してみよう。
本稿では、無償のVisual Studio Community 2015とVS Tools for Cordova Update 7を使っている。違う環境では記事と細部が異なる可能性がある。
Visual Studio 2015を立ち上げ、前回と同様にApache Cordovaの[空のアプリ]プロジェクトを作る。
次に、ソリューションエクスプローラーでwwwフォルダの直下に新しくフォルダを追加し、「fonts」と名前を付けておく。fontsフォルダには適当なフォントファイルを1個、既存のimagesフォルダには横140ピクセル/縦240ピクセルの適当な画像を2個、それぞれ追加してほしい(次の画像)。それには、目的のファイルをエクスプローラーからソリューションエクスプローラーのフォルダにドラッグ&ドロップすると簡単だ。
上で追加した画像とフォントをアプリで使おう。.css/.html/.jsファイルを順に修正していく。
まず、index.cssファイルからだ(ソリューションエクスプローラーのwww\cssフォルダにある)。フォントファイルを使うには、CSSで次のコードのように@font-face規則を定義しておく。フォントファイルのパスは相対指定でなければならない(ここでは「../」で始まっている)。
@font-face {
font-family: 'DSEG7';
src: url(../fontsDSEG7Modern-Bold.woff);
}
続いて、index.cssファイルの.appセクションの中身を次のコードのように書き換える。この部分は、表示するコンテンツ全体を画面中央に配置する指定だ。なお、デバッグのテクニックとして、周囲に細い境界線を付けている。こうするとCSSの書き間違いが分かりやすいのだ(最終的に境界線は消すのだが、そのときに境界線の太さの分だけレイアウトがずれることには注意が必要)。
.app {
/* divを画面中央に配置 */
position: absolute;
left: 50%;
top: 50%;
height: 360px;
width: 250px;
margin-top: -180px; /* 高さの半分 */
margin-left: -125px; /* 幅の半分 */
/* divの中に置いた個々のコンテンツを左右中央寄せ */
text-align: center;
/* デバッグ用に赤い境界線を表示する(リリースまでに削除する) */
border: solid 1px red;
}
次に、index.cssファイルの.eventセクションの中身を次のコードのように書き換える。この部分は、デジタル時計の時刻表示部分になる(「event」という名前はふさわしくないのだが、今回はそのままにしておく)。ここで先ほど定義したフォントを指定している。
.event {
color: #FFFFFF;
margin: 27px;
padding: 4px 0px;
background-color: #4B946A;
/* 上で定義したfont-faceを使う*/
font-family: DSEG7;
font-size: 24pt;
}
最後に、index.cssファイルの.eventセクションの後ろに、.clockセクションを追加する(次のコード)。これは、この後でindex.htmlファイルに追加する画像(<img>要素)に適用するスタイルだ。
.clock {
/* imgを左右中央に配置 */
position: absolute;
height: 240px;
width: 140px;
left: 50%;
margin-left: -70px; /* 幅の半分 */
/* デバッグ用に黄色い境界線を表示する(リリースまでに削除する) */
border: solid 1px yellow;
}
さて、今度はindex.htmlファイルだ。<body>要素の中を、次のコードのように書き換える。画像を表示するには<img>要素を使うのだが、ここでもパスは相対指定で書かねばならないことに注意してほしい(src属性の値)。なお、画像を表示するには、<img>要素を使う他に、CSSで<div>要素などの背景として指定する方法もある(ここでは、後ほど画像の表示/非表示を切り替えたいので<img>要素を使った)。
<body>
<p style="background-color:white;float:left;"
><a href="page2.html">2ページ目へ</a></p>
<div class="app">
<p id="deviceready" class="event">88:88:88</p>
<img id="c1" class="clock" src="./images/clock01.png" />
<img id="c2" class="clock" src="./images/clock02.png"
style="opacity:0;" />
</div>
……省略……
</body>
基本的な準備はこれで済んだ。次ページではファイルの保存し直しや2ページ目の追加など、もう少し準備を続けた後にJavaScriptコードを記述する。
Copyright© Digital Advantage Corp. All Rights Reserved.