Forum » Programiranje » Skaliranje aplikacij na High DPI ekranih
Skaliranje aplikacij na High DPI ekranih
dope1337 ::
Pozdravljeni
Že slabo leto si lastim Lenovo Yoga 2 Pro, ki ima High DPI(3200x1800) 13' ekran. Pri nekaterih namiznih aplikacijah (vsi Adobe-ovi produkti, vlc, itn.) se zgodi, da le-ta ne zna skalirat svojega vmesnika kot se reče ter tako naredi sama sebe neuporabno.
No ... končno sem (skoraj) prišel do rešitve, ki se nahaja na TEM BLOGU
Stvar je v tem, da je treba v registru najprej povedati OSu, da naj pri dotični aplikaciji pogleda v externi manifest za podatek, ali se dotična aplikacija zaveda, da se nahaja v "High DPI okolju". Ker je odgovor pač napačen, dobimo mikroskopski UI.
Nato je treba manifest spisati, ki izgleda nekako takole:
Upam, da bo še komu prišlo tole prav.
Če pa ima kdo še kakšno bolj generalno rešitev, pa lepo prosim. Ker na ta način, moraš za vsak program, ki se ni sposoben skalirat dopolniti oz. spisati manifest.
Že slabo leto si lastim Lenovo Yoga 2 Pro, ki ima High DPI(3200x1800) 13' ekran. Pri nekaterih namiznih aplikacijah (vsi Adobe-ovi produkti, vlc, itn.) se zgodi, da le-ta ne zna skalirat svojega vmesnika kot se reče ter tako naredi sama sebe neuporabno.
No ... končno sem (skoraj) prišel do rešitve, ki se nahaja na TEM BLOGU
Stvar je v tem, da je treba v registru najprej povedati OSu, da naj pri dotični aplikaciji pogleda v externi manifest za podatek, ali se dotična aplikacija zaveda, da se nahaja v "High DPI okolju". Ker je odgovor pač napačen, dobimo mikroskopski UI.
Nato je treba manifest spisati, ki izgleda nekako takole:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"> </assemblyIdentity> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"> </assemblyIdentity> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware> </asmv3:windowsSettings> </asmv3:application> </assembly>
Upam, da bo še komu prišlo tole prav.
Če pa ima kdo še kakšno bolj generalno rešitev, pa lepo prosim. Ker na ta način, moraš za vsak program, ki se ni sposoben skalirat dopolniti oz. spisati manifest.
"Everybody is a genius. But if you judge a fish by its ability to climb a tree
it will live its whole life believing that it is stupid."
-Albert Einstein
it will live its whole life believing that it is stupid."
-Albert Einstein
- spremenilo: dope1337 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Content-Security-Policy problemOddelek: Izdelava spletišč | 1526 (1343) | poweroff |
» | Android notificationOddelek: Programiranje | 2348 (2207) | mihy11 |
» | Locljivost na laptopuOddelek: Zvok in slika | 2255 (1867) | fujtajksel |
» | [Android] Program se sesuje pri zagonuOddelek: Programiranje | 854 (663) | Xpie |
» | [Java]Problem z zaganjanjem aplikacije na sterznikuOddelek: Programiranje | 1719 (1528) | KernelPanic |