繁体   English   中英

为什么布局甚至在dp Android中使用宽度也会打扰

[英]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,约束将相应地调整它们的大小。

使用ConstraintLayout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM