2011-07-11 15 views
8

私はCSSファイルでフォーマットされたWebViewを持っています。このビューのために、Webサーバーと同じように、アプリケーション内からHTMLを動的に生成します。生成されたHTMLは、書式設定のための静的なCSSファイルを参照します。私は幅と高さの測定のためにそのピクセルむしろディップを使用したいのですが、このデバイスは依存しないようにするにdipを使ってwebview cssで画像サイズを指定する方法は?

img { 
    width: 20px; 
    height: 20px; 
} 

:私は、次のような命令のフォーマットの画像を持っています。私はcssの定義の中でdipをどのように指定するかを知ることはできません。私は "dp"と "dip"を試しましたが、どちらもうまくいきませんでした。これはできますか?

<「target-densitydpi = high-dpi」>タイプのセレクタで選択された複数のCSSファイルを持つことができますが、これはCSSファイルが重複していることを意味します。様々なデバイス密度に応じたサイズの画像を生成する。 Doableですが、私はCSSファイルでディップを指定して、WebViewに私の仕事をさせてもらいたいと思っています。

また、HTMLヘッドにインラインスタイルシートを生成し、特定のデバイスのdipをpxに変換することもできますが、これによりCSS定義とHTML生成コードが結合されます。私のアプリケーションでは複数のCSSファイルよりはるかに優れているかもしれませんが、CSSファイルでdipを設定して終了するのははるかに良いでしょう。

は(私のイメージは現在サポートされている画面密度の範囲のためのアーティファクトなしでサイズ変更を許可するように設計されています)

答えて

2

CSSで使用可能な単位のページ:なし

http://www.w3.org/TR/css3-values/#lengths

ありあなたはそのようなユニットが存在するというアイデアをどのように得ているのかは分かりません。

代わりに、CSSの仕様によれば、ピクセルサイズはデバイスの相対サイズに合わせて調整する必要があります。

これは理論です。

実際には、このような機能をサポートするために動的にCSSを生成したいと考えています。

+0

ありがとう。私はモトローラドロイド2とLG VM670の2つの物理的なデバイスについて理論は成り立たない。現在、bodyタグのフォントサイズを1 emのベースラインを定義するように設定し、 emの値を他のCSSのディップと同じようにしてから、物理デバイスに応じてbodyタグのフォントサイズに適切な値を動的に決定してください。 Android内に(標準でなくても) – Colin

+0

この記事の補遺として、quirksmodeの[この記事(http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html)を読んでください。ピクセルからCSSへのピクセルはユーザーエージェントの責任でなければなりません(ちょうどCSSの仕様では 'ピクセル'とは違うものがありますが、これはかなり混乱します)。 – Maarten

1

dpは実際には/ 160にあるため、すべてのサイズを長さ単位(インチやミリメートルなど)で指定できます。もちろん、比率を仮定します。

しかし、残念ながらCSSの絶対サイズは物理的な測定値と一致しません。私はちょうどそれを確認しました。 :(

関連する問題