2016-06-23 18 views
7

Hintergrund: Android N kommt mit einer Funktion zum Ändern des Systems Display Size von den Einstellungen, zusätzlich zu den zuvor vorhandenen Feature der Änderung Font Size.Ändern Sie die Systemanzeigegröße programmatisch Android N

ändern Display-Größe:

enter image description here

Image Source: pcmag.com

Frage:

Wenn eine App android.permission.WRITE_SETTINGS Berechtigung hat, um die Einstellungen zu ändern, Es gibt Möglichkeiten, die Systemschriftgröße zu ändern e programmatisch wie in How to programmatically change font settings of Device: font style and font size? erwähnt. Ich konnte jedoch keine Möglichkeit finden, die Anzeigegröße programmatisch zu ändern. Ist es möglich?

Was habe ich ausprobiert?

Ich habe die möglichen Optionen in der Liste der Settings.System Komfortfunktionen zum Ändern der Einstellungen programmgesteuert überprüft.

aktualisieren:

ich eine Feature-Anfrage für das gleiche hier geöffnet haben: https://code.google.com/p/android/issues/detail?id=214124. Wenn Sie das Gefühl haben, dass es nützlich sein könnte, dann tun Sie es bitte.

Vielen Dank für Ihre Hilfe im Voraus!

Antwort

0

Während Settings.System Bezug genommen wird, gibt es eine [putConfiguration(ContentResolver cr, Configuration config)] (https://developer.android.com/reference/android/provider/Settings.System.html#putConfiguration(android.content.ContentResolver, android.content.res.Configuration)) -Methode. Die Anwendung dieser Methode ist:

Convenience-Funktion einen Stapel von konfigurationsbezogene Einstellungen von einem Konfiguration Objekt zu schreiben.

In Configuration

Dies umfasst sowohl benutzerspezifizierten Konfigurationsoptionen (locale Liste und Skalierung) sowie Gerätekonfigurationen (wie Eingabemodi, Siebgröße und Bildschirmausrichtung).

Stellen Sie die Konfiguration mit SCREENLAYOUT_SIZE_MASK Werten für die Bildschirmgröße ein. Es ist:

Die Bits SCREENLAYOUT_SIZE_MASK definieren die Gesamtgröße des Bildschirms. Sie können eine von SCREENLAYOUT_SIZE_SMALL, SCREENLAYOUT_SIZE_NORMAL, SCREENLAYOUT_SIZE_LARGE oder SCREENLAYOUT_SIZE_XLARGE sein.

Ich hoffe, es hilft Ihnen.

+0

Dies wird definitiv nicht funktionieren. – alanv

+0

@alanv Danke, dass du dich darum gekümmert hast. Es scheint nicht so, als ob es funktioniert. Können Sie bitte erläutern, dass [Android Open Source-Projekt - Issue Tracker] (https://code.google.com/p/android/issues/detail?id=214124) der richtige Ort ist, um die Feature-Anfrage für das gleiche oder zu öffnen Müssen wir es woanders anfordern? Dank pRaNay für die Mühe zu helfen. Leider scheint es nicht zu funktionieren. –

+0

Danke @alanv. Ich entferne einfach nicht getesteten Code. – pRaNaY