在Android上缩放小部件(dp、px、屏幕大小)

4
什么是在Android上控制小部件大小的最佳方法?
请参考以下表格:
• 在480x800像素的3.6-4.0英寸屏幕(智能手机)上,dpi约为240dpi • 在540x960像素的4.3英寸屏幕(智能手机)上,dpi约为270dpi • 在480x800像素的7英寸屏幕(平板电脑)上,dpi约为130dpi • 在600x1024像素的7英寸屏幕(平板电脑)上,dpi约为170dpi • 在1280x800/768像素的8.9英寸屏幕(平板电脑)上,dpi约为170dpi • 在1280x800像素的10.1英寸屏幕(平板电脑)上,dpi约为150dpi
因此,智能手机通常具有更高的dpi。
现在,如果我创建一个宽度为100px的控件,它在低dpi显示器上会很好,但在高dpi显示器上会很差,因为控件会太小。如果我使用相同的控件并设置宽度为100dp,则情况将相反 - 在高分辨率显示器上,它将缩放到例如150px,但在低dpi屏幕上(平板电脑),如果密度低于160dpi,则仍将为100px或更小。
那么,我应该如何创建一个控件,在4英寸的显示器上占用1英寸,在7英寸的显示器上占用1.5英寸,在10.1英寸的显示器上占用1英寸?换句话说,屏幕越大,控件就越大,但不考虑分辨率。
但这实际上是一个好方法吗?
问候, SteN
1个回答

2
请在您的Android清单文件中包含此内容。
 <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:resizeable="true"
        android:anyDensity="true"
        />

并且检查来自Android开发者网站的以下链接,这可能会帮助您找到正确的解决方案来回答您的问题。 http://developer.android.com/guide/practices/screens_support.html

1
你好,这个对我有什么帮助吗?anyDensity默认为true,resizeable已经被弃用,我将支持普通、大型和超大型屏幕——我将把它们连接到清单中,以避免兼容模式...我多次查看了“支持多个屏幕”的文档,但是我没有在这里找到答案:(((也许我需要更仔细地阅读它。 - STeN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接