Despite ro.sf.lcd_density being set to 480 (which means xxhdpi DPI bucket is selected), both xdpi and ydpi is reported as ~160 (as can be seen using e.g. Screen Size). When an application attempts to calculate screen size, it's erroneously calculated as ~13 inches. This causes trouble in e.g. VR apps (such as Google Cardboard) and a few others.
Any ideas on how to get getDisplayMetrics().xdpi/ypdi to report correct values?
Related
Indirect deserves a salute for rooting the NT
http://forum.xda-developers.com/showthread.php?t=1354487
Still running a Nook Color with a dpi of 240 in build.prop, I would very much
get any reports on the following
1. Can the same be done on the NT without too many side affects?
2. Has anyone installed skype and tested the built in Mic?
How about a response as to a rooted Nook Tablet with a higher (240) dpi setting?
speaking completely out of curiosity, how can you display a higher dpi onscreen (if I'm understanding what you're asking), if the display is only capable of 169 dpi?
maybe I'm oversimplifying the question and am not understanding you.
---------- Post added at 01:33 PM ---------- Previous post was at 01:31 PM ----------
after doing some searching, are you referring to actual font size?
Android allows different dp settings independent of the hardware dpi for UI design. Details in below link,
http://developer.android.com/guide/practices/screens_support.html
Density-independent pixel (dp)
A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way.
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units when defining your application's UI, to ensure proper display of your UI on screens with different densities.
e.mote said:
Android allows different dp settings independent of the hardware dpi for UI design. Details in below link,
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use.
Click to expand...
Click to collapse
I understand the advantage to a developer laying out UI that needs to run on different display resolutions, but I don't see an advantage for an end-user. Why would you set your dpi to 240 if you can only display 169 dpi on the device? Won't the tablet simply downsize bit-mapped images when they're actually displayed?
Honest question--I'm probably not understanding something here--and I'm certainly not trying to rile anyone. Thanks!
Per above equation, setting your device's dpi setting to 240 would allow the app to be 150% in size. This aids in legibility, at cost of more screen space.
If you have an NC, you can see this firsthand by adjusting abovesaid dpi setting in build.prop up or down.
e.mote said:
Per above equation, setting your device's dpi setting to 240 would allow the app to be 150% in size. This aids in legibility, at cost of more screen space.
Click to expand...
Click to collapse
Ah, cool. Thanks for the info!
All I wanted to know was if the build.prop can be edited on a rooted NT as I have done on the NC.
Also, I will try once more. Did anyone use the Microphone with skype or some other chat app?
I tried to raise the dpi on my mediapad while running cyanogemod by after_silence but if i enter anything above 213 it removes the home and back buttons and changes to the phone style notification bar. Any Ideas? His Rom is great, Its every thing i want except I want to use my 1280x800 screen as 1280x800. I would post this question in his devlopment thread but xda wont allow my account to do this since i dont have enough posts.
You need to lower the dpi to simulate a larger screen dpi.
Basically if the resolution is equal, smaller screen would have bigger dpi than bigger screen.
Android still use the full resolution regardless of the dpi. The dpi is an indicator of how big your screen is and it will choose the appropriate icon, font, etc based on that. You don't loose sharpness just because the font look bigger.
As the previous poster said - Android will use the full screen resolution no matter what.
When you raise the DPI, you are telling the OS that there are more dots per inch. The number of dots on the screen is fixed, so raising the DPI is telling the OS the screen has those dots squeezed into a smaller space.
At the default DPI of about 213, you are telling the OS that your 1280 x 800 screen is 7 inches diagonal (small tablet). Note that in Jellybean and higher, a 7" tablet will trigger the "small tablet" interface that looks like a Galaxy Nexus phone layout but still has tablet elements.
On the MediaPad stock ICS ROMs, the "high resolution" mode reports a DPI of 160, which tells the OS that your 1280 x 800 screen is about 9.3" (larger tablet).
If you raise the DPI even higher, let's say to 300, then you are telling the OS your 1280 x 800 screen is 5" diagonal (very small tablet / very large phone, like the Galaxy Note). In ICS this will pop you into the phone interface.
The OS uses this information to scale fonts and user elements. So if an app decides it wants to output text on the screen that is 0.5 inches tall:
- At 213 DPI the text will be 107 pixels tall
- At 160 DPI the text will be 80 pixels tall
- At 300 DPI the text will be 150 pixels tall.
Mainscreenturnon said:
I tried to raise the dpi on my mediapad while running cyanogemod by after_silence but if i enter anything above 213 it removes the home and back buttons and changes to the phone style notification bar. Any Ideas? His Rom is great, Its every thing i want except I want to use my 1280x800 screen as 1280x800. I would post this question in his devlopment thread but xda wont allow my account to do this since i dont have enough posts.
Click to expand...
Click to collapse
Hello,
just edit your build.prop (/system/build.prop) with appropriate rights (e. g. root explorer):
change
Code:
ro.sf.lcd_density=213
to
Code:
#ro.sf.lcd_density=213
Best regards,
Michael
Can someone please explain how the android DPI system works?
If i reduce my dpi on my Gnex, from 320 to 250, everything gets smaller; it gets denser (as there is more in a smaller space), however the name (dots per inch) would suggest that a higher figure would result in a more dense screen.
maxib123 said:
Can someone please explain how the android DPI system works?
If i reduce my dpi on my Gnex, from 320 to 250, everything gets smaller; it gets denser (as there is more in a smaller space), however the name (dots per inch) would suggest that a higher figure would result in a more dense screen.
Click to expand...
Click to collapse
http://developer.android.com/guide/practices/screens_support.html
There is plenty to read... but you might just take a look at figure 4. which explains sizes of xhdpi, hdpi, mdpi and ldpi drawables.
It's basicly hidger dpi = higher res drawable = takes more space on your screen.
Hello Tablet Z community,
This is my first post in this devices forums since getting mine last week. It's a great device, love it, etc.
I've never owned an Android device with a screen resolution this high so I've yet to encounter this problem - some of my games (specifically the emulator PPSSPP) have relatively low framerates (compared to my less powerful Samsung P6810 @ 800x1280). I know with computers in particular it's trivially easy to change resolutions in games/the OS, especially to increase FPS but I've never seen a method to do this on Android and Google searches turn up people mentioning device resolution without changing them.
Does anyone know if it's possible to, ideally, force a different resolution for a particular application? A less than ideal solution would be a system wide change but I would be willing to endure temporarily to increase FPS.
Any advice and suggestions would be greatly appreciated
I would be interested to know about this, iv just loaded ppsspp however havent been able to play any of the playable games listed, I did see a few videos of the xperia z playing well, however that has the same resolution and specs.
juzza87 said:
Does anyone know if it's possible to, ideally, force a different resolution for a particular application? A less than ideal solution would be a system wide change
Any advice and suggestions would be greatly appreciated
Click to expand...
Click to collapse
That was recently discussed in this thread: LCD Density Changes and Results (With Pics)
Cat McGowan said:
That was recently discussed in this thread: LCD Density Changes and Results (With Pics)
Click to expand...
Click to collapse
This is very different, setting the DPI to a non-stock value just resizes the userspace, the resolution is fixed and unchangeable as the OP is thinking. Compared to a Windows PC where you can change the resolution, in Android you only have the ability to change the dpi, which states how large the pixel-to-screen size is. A smaller number indicates a smaller pixel-to-screen size, meaning the information shown on screen is sized for a laeger screen (making it smaller, since the screen is a fixed size). And a larger number has the reverse effect. Android UI guidelines set the optimal dpi for resolution vs. screen size, to mainain a similar experience across devices (similarly sized icons and fonts, etc). Again, this has nothing to do with adjusting the physical resolution of the device, which (to my knowledge) is not possible in Android.
daveid said:
This is very different, setting the DPI to a non-stock value just resizes the userspace, the resolution is fixed and unchangeable as the OP is thinking. Compared to a Windows PC where you can change the resolution, in Android you only have the ability to change the dpi, which states how large the pixel-to-screen size is. A smaller number indicates a smaller pixel-to-screen size, meaning the information shown on screen is sized for a laeger screen (making it smaller, since the screen is a fixed size). And a larger number has the reverse effect. Android UI guidelines set the optimal dpi for resolution vs. screen size, to mainain a similar experience across devices (similarly sized icons and fonts, etc). Again, this has nothing to do with adjusting the physical resolution of the device, which (to my knowledge) is not possible in Android.
Click to expand...
Click to collapse
Heh. Thanks for the schooling, but it was unnecessary, I didn't just fall off a turnip truck.
Thanks for the replies guys, at least now I know for sure..
Hi all,
Quick question. I just installed CM10.0 onto my wife's unused nook tablet as a gift to my retired father. I've noticed though that the icons are rather small even at 64 pixels, and was curious about changing the DPI to make everything larger for him. Before I leap into editing the boot.prop file (ro.sf.lcd_density=160, default), are there particular DPIs that work well for the NT screen, or potential issues or problems I should be aware of if I change the DPI? E.g., apps only function normally at 160, 200, and 240 DPI, display failures happen frequently at anything but 160 DPI, etc.
Many thanks!