I understand that this topic was covered to death, and I read the official and unofficial developer guides, so I know the theory. But I'm still not sure which way to go in order for the app to look good on multiple screen sizes. My application is a simple navigation application designed only for portraiture. At this stage, I am not interested in creating different designs for landscape or multi-panel screens for tablets, etc. I just want each screen to scale up / down so that it looks proportional to the size of the screen on which it is displayed, i.e. text and images are up / down as needed. I developed an application for the classic 480x800 hdpi device that looks great, I just want it to look proportionate for the Galaxy S3 / Nexus 7, etc. I already follow these recommendations:
- Using RelativeLayouts
- Using DP blocks for padding / fields
- Using SP Blocks for Fonts
- Using 9-patch images for buttons
However, I find that it still looks small and a bit lost in the middle of the screen on larger devices. In particular, my main menu screen is a grid of 6 image buttons that I cannot get to scale well. I do not want to have multiple copies to support the same screen (regular / large / xlarge), I just want one layout. I considered the following:
- Using normal / value-large value folders, etc. for storing XML files with DP / SP values ββfor image / text sizes
- Changing RelativeLayouts to LinearLayouts with weights (although I initially struggled with LinearLayouts and changed RelativeLayouts
Is there one of these valid approaches, or is there a better approach?
Jonathan wareham
source share