[英]Why layout is disturbing even using width in dp Android
我使用Nexus 9 2048 X 1536
在Android中创建了一个演示应用程序,我添加了EditText并将宽度指定为1000dp,在Nexus 9仿真器中可以正常使用。 但是,当我将仿真器更改为Nexus 5X 1080 X 1920
来测试dp
目的时,EditText就会超出布局并显示大约一半。
为什么会发生,即使我在dp中指定宽度也是如此。 它应该根据屏幕分辨率调整宽度。
它应该根据屏幕分辨率调整宽度。
不,不是的。 dp
将根据屏幕密度而不是屏幕分辨率来调整宽度。 您要求它为1000dp宽,因此无论屏幕分辨率或屏幕大小如何,它都将为1000dp宽。
您有几种选择:
1)正确的建议之一是针对不同的屏幕进行不同的布局。 有关此替代方法,请参阅支持多个屏幕
2)我在ConstraintLayout之前使用的另一个替代方法是使所有内容成比例。 当应用启动时,我将对Display进行测量并基于此进行所有布局。 这大部分是通过编程方式完成的,而不使用xml布局文件。
3)使用支持库中的新ConstraintLayout。 使用此布局,您可以限制彼此之间的联系,也可以约束可以添加到布局中以分隔其各个部分的准则。 您需要调整的窗口小部件的宽度大多为0dp或wrap_content,约束将相应地调整它们的大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.