Wie wird die Bildgröße in der webview css mit dip angegeben?

8

Ich habe ein WebView, das über eine CSS-Datei formatiert ist - ich erzeuge den HTML dynamisch aus der App für diese Ansicht, ähnlich wie ein Webserver. Das generierte HTML verweist auf eine statische CSS-Datei zum Formatieren. Ich habe eine Bildformatierung wie:

%Vor%

Um dieses Gerät unabhängig zu machen, würde ich lieber Dip anstelle von px für die Breiten- und Höhenmessungen verwenden. Ich kann nicht herausfinden (noch finden), wie man dip als eine Einheit in einer CSS-Definition spezifiziert. Ich habe versucht "dp" und "dip", von denen keiner funktionierte. Kann das gemacht werden?

Ich weiß, dass ich mehrere Versionen der CSS-Datei haben kann, die über ein & lt; "target-densitedpi = high-dpi" & gt; Art des Selektors, aber das bedeutet, dass ich doppelte CSS-Dateien nur für die Fähigkeit haben, Bilder nach verschiedenen Gerätedichten zu sortieren. Doable, aber ich würde es vorziehen in der Lage sein, dip in der CSS-Datei angeben und lassen Sie das WebView die Arbeit für mich erledigen.

Es wäre auch möglich, das Inline-Stylesheet im HTML-Kopf zu erzeugen und dip für das jeweilige Gerät in px zu konvertieren, aber dies führt dann zu einer Kopplung zwischen der CSS-Definition und dem HTML-Generierungscode. Wahrscheinlich besser als mehrere CSS-Dateien (für meine Anwendung), aber es wäre viel schöner, einfach in die CSS-Datei zu setzen und damit fertig zu werden.

(Meine Bilder ermöglichen eine Größenanpassung ohne Artefakte für den Bereich der derzeit unterstützten Bildschirmdichten)

    
Colin 11.07.2011, 15:00
quelle

2 Antworten

2

Welche Einheiten in CSS verfügbar sind, hier:

Ссылка

Es gibt kein DP oder DIP, also bin ich mir nicht sicher, wie Sie eine Idee bekommen haben, dass so eine Einheit existiert.

Stattdessen sollten laut CSS-Spezifikation die Pixelgrößen auf relative Größen der Geräte skaliert werden.

Das ist Theorie.

Sie möchten wahrscheinlich CSS dynamisch generieren, um diese Funktion zu unterstützen.

    
Mikko Ohtamaa 11.07.2011, 22:03
quelle
1

dp ist tatsächlich in / 160, Sie können also alle Größen in Längeneinheiten wie Zoll oder Millimeter angeben. Angenommen natürlich Verhältnis.

Aber leider stimmen absolute Größen in CSS nicht mit physikalischen Messungen überein, ich habe es gerade überprüft. : (

    
Dmitry Kochin 24.11.2011 18:38
quelle

Tags und Links