これは実際には非常に簡単に実行でき、すべてのプラットフォームで Titanium に組み込まれています。WebViewのプロパティを使用するだけscalesPageToFit
です。これは Titanium バージョン 0.8 から存在しているため、非常に安定しています。
var self = Ti.UI.createView({
backgroundColor : '#ff0000'
});
var webView = Ti.UI.createWebView({
url : 'http://whatsmy.browsersize.com',
scalesPageToFit : true,
width : 280
});
self.add(webView);
ただし、プラットフォームの違いに注意してください。
「iOS では、これを true に設定すると、初期ズーム レベルがページ全体を表示するように設定され、ユーザーが Web ビューをズームインおよびズームアウトできるようになります。これを false に設定すると、ユーザーは Web ビューをズームできなくなります。」
「Android では、初期ズーム レベルのみを制御します。」
また、すべての画面のピクセル密度が異なるため、ピクセルとポイントの違いにも注意してください。これが機能することを示すスクリーンショットです。周囲の赤い背景に注意してください。
このスクリーンショットは、Titanium Studio の「デフォルト ウィンドウ」テンプレートを使用したバニラ プロジェクトから取得したものです。私がしたことは、「ui/common/FirstView.js」ファイルをこの要点に置き換えることだけでした。
WebView を非常に小さくすると、コンテンツが表示されない可能性があります (多くの Web サイトで最小ズーム スケールが指定されているため)。その場合は、次のような変換を使用することをお勧めします。
var webView = Ti.UI.createWebView({
url : 'http://whatsmy.browsersize.com',
scalesPageToFit : true,
width : 280,
transform : Ti.UI.create2DMatrix().scale(0.5, 0.5)
});
これでできることは、前のビューを取得して半分のサイズにするだけです。もちろん、独自の均一な倍率を計算する必要がありますが、要件とプラットフォームのターゲットによっては簡単なはずです。これは、スケーリングされた結果のスクリーンショットです。
これらの方法を組み合わせて使用することで、この問題を解決するために必要なツールを確実に手に入れることができます。幸運を!