Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android布局,指定dp以根据屏幕大小进行缩放_Android_Layout - Fatal编程技术网

Android布局,指定dp以根据屏幕大小进行缩放

Android布局,指定dp以根据屏幕大小进行缩放,android,layout,Android,Layout,我一直在尝试在Android上实现通用布局,但没有成功。我的理解是,如果您指定dp中的所有小部件,并使其在一个屏幕大小中看起来正确,它应该可以适当地缩放到其他分辨率,但我的结果看起来有点错误 我使用相对布局在HVGA中展示了所有内容。相对布局具有我们的UI设计器用来定义元素边界的背景。在这个布局中,一切看起来都很完美 然后我切换到一个大屏幕,屏幕宽高比稍有不同,背景比例适当,但其他一切看起来都有一定的差异。我的问题是,什么是黄金的方式,使所有元素的规模与屏幕正确。我想保留所有元素相对于背景的比率

我一直在尝试在Android上实现通用布局,但没有成功。我的理解是,如果您指定dp中的所有小部件,并使其在一个屏幕大小中看起来正确,它应该可以适当地缩放到其他分辨率,但我的结果看起来有点错误

我使用相对布局在HVGA中展示了所有内容。相对布局具有我们的UI设计器用来定义元素边界的背景。在这个布局中,一切看起来都很完美

然后我切换到一个大屏幕,屏幕宽高比稍有不同,背景比例适当,但其他一切看起来都有一定的差异。我的问题是,什么是黄金的方式,使所有元素的规模与屏幕正确。我想保留所有元素相对于背景的比率。

谢谢

编辑:找到了如何做到这一点。按钮和背景之间不一致的原因是背景与dp的比例不同,并且设备显然具有不同的dp。解决方案是从绝对像素手动计算比例因子,然后通过该因子手动缩放所有内容。以下是一个很好的参考方法:
dp以这样一种方式进行自我缩放,以便任何小部件的大小在具有不同分辨率的不同屏幕上保持不变。
在您的例子中,列表视图的大小保持不变,但背景延伸到屏幕宽度。为了避免这种情况,请使用第一种颜色作为第一个列表视图的背景,并使用与第二个列表视图相同的颜色

添加一个屏幕截图将帮助我们了解您的意思(问题是什么),从而获得足够的声誉。上传的截图:更新DOriginal帖子以显示我的解决方案。