Wie erzwinge ich die Nexus-Ressourcen in ziehbar-xhdpi zu verwenden und dann das 10-Zoll-Tab ziehbar-xxhdpi zu benutzen?
Sie können nicht.
Die Qualifier hdpi,xhdpi,xxhdpi
beschreibt die Bildschirmdichte des Geräts, nicht die Größe des Bildschirms. Vom official doc
Rasterdichte
Die Menge von Pixeln innerhalb eines physikalischen Bereich des Bildschirms; normalerweise bezeichnet als dpi (Punkte pro Zoll). Zum Beispiel hat ein "niedriger" Dichte-Bildschirm weniger Pixel innerhalb eines gegebenen physikalischen Bereichs, verglichen mit einem "normalen" oder "hohen" Dichte-Bildschirm. Zur Vereinfachung gruppiert Android alle tatsächlichen Bildschirmdichten in vier generalisierte Dichten: niedrig, mittel, hoch und extra hoch.
Wenn Sie auch Tablets unterstützen möchten, verwenden Sie large, xlarge
Qualifier. Nexus 7 ist ein large-hdpi
Tablet (technisch ist es tvdpi
, aber nimmt Bilder von hdpi
). Wenn Sie Bilder für Nexus 7 erstellen möchten, erstellen Sie einen Ordner mit dem Namen drawable-large-hdpi
und legen Sie die Bilder dort ab.
Hinweis: Dies ist der Sonderfall für Nexus 7. Denn obwohl Nexus 7 ein 7-Zoll-Tablet ist, es Auflösung von 1280 * 800 hat. Es ist also ein hdpi
Gerät. Aber normale 7-Zoll-Geräte haben niedrigere Auflösungen von 1024 * 600. So sind sie mdpi
Geräte. So kann sich der Zeichenqualifikator ändern. (Aus meiner eigenen Erfahrung, legen Sie zuerst einen Ordner drawable-large-mdpi
für 7-Zoll-Geräte und überprüfen Sie es auf Nexus 7. Wenn es kein Problem mit Bildern gibt, müssen Sie nicht einen anderen Ordner legen.Denn wenn ein bestimmter Ordner nicht vorhanden ist, Android für die nächstmögliche Ordner überprüfen wird und optimieren es für das Gerät Bildschirm)
Jetzt in Bezug auf die 10-Zoll-Tabletten Fall sind sie xlarge
Geräte und deren Dichten können mdpi
-xhdpi
ändern (Nexus 10) Aber viele haben eine Auflösung von 1280 * 800 und sie sind mdpi
Geräte.
Je besser die Praxis ist folgenden Drawables
// for Phones
drawable-ldpi
drawable-mdpi
drawable-hdpi
//for 7 inch tablets
drawable-large-mdpi
drawable-large-hdpi(for Nexus 7)
// for 10 inch tablets
drawable-xlarge-mdpi
als andere zu setzen sind, unter Hinweis darauf, das Problem ist nicht, wie Android zu zwingen, wie Sie es wollen laufen, aber für Sie zu verstehen, wie Ressourcen Auswahl funktioniert bei Android und verwenden Sie es richtig. Ich empfehle Ihnen dringend, das offizielle Dokument zu lesen. – Teovald
Meine App verwendete nicht die richtige Dichte (sie verwendete mdpi, wo hdpi verfügbar war). Ihr Code-Snippet hat mir geholfen, mein Problem zu beheben, und könnte anderen helfen. Daher habe ich Ihre Frage im Namen der Erhaltung neu gesetzt. – 1owk3y
Ich denke, Autoren sollten ihre Antworten für die neuesten Geräte und neue Android Apis aktualisieren. –