ローカル画像のリサイズ機能に対応

現在のMobyletの作りではYmir+ZPT+Mobyletではローカル画像のリサイズ機能がうまく使えないことが分かったので対応してみました。また、<m:img>タグにも対応してみました。

他にも、実はMobyletのS2連携機能のうちMobyletの内部コンポーネントをdiconに指定できる機能がYmir+ZPT+Mobyletではうまく働かない問題があって、こちらも併せて対処しました。また、Mobylet1.0.1を使うようにも変更しました。


対処版のmobyletフラグメントはSNAPSHOT版としてリリースしています。これを使うには、Viliの設定でSNAPSHOT版のフラグメントを認識するようにしておく必要があります。

Eclipseのメニューの「Window→Preferences...」で「Vili」を選択し、「フラグメントアーカイブの検索にスナップショットを含める」にチェックを入れておいて下さい。

後は通常と同じように新規Viliプロジェクトウィザードからプロジェクトを作って下さい。

この時、Ymirのバージョンとして1.0.7-SNAPSHOT以上を指定するようにして下さい。Ymirのバージョンの指定は新規Viliプロジェクトウィザードの「スケルトン固有」設定タブで行なうことができます。

同じく「スケルトン固有」タブの下の方に、ローカル画像のリサイズ機能のための設定が追加されています。適宜設定を変更して下さい。通常はデフォルトのままでOKです。なお、リサイズ機能の有効無効の指定と画像の拡張子の指定はYmir+ZPTまたはFreyjaを利用する場合にだけ有効です。それ以外の場合、例えばT2+JSPの場合は「ローカル画像のリサイズ機能を利用する」チェックを外してもリサイズ機能は無効になりません。また指定した画像の拡張子は無視され、Mobylet自体がサポートしている全ての拡張子の画像がリサイズ対象となります。


プロジェクトができたらアプリケーションを起動してみて下さい。画像ファイル「ymir.jpg」をsrc/main/webapp直下に配置してHTMLテンプレートに次のように書けば、

次のように表示されます。(FireMobileSimulator使用)

なお画像リサイズのための設定の一部はプロジェクト作成後でも変更できます。プロジェクトのコンテキストメニューから「Properties」を選択して「Vili」の「Skeleton/Fragment Parameters」から変更して下さい。