2017-02-27 93 views
0

在Android Studio中,当我制作布局文件并在dp中给出宽度和高度并在预览中更改设备时,项目会移动,但dp是密度独立的,因此每个屏幕的屏幕宽度和高度必须为160dp,如果我错了,请纠正我,如果可能的话给我解决方案。我正在尝试使布局文件看起来像在所有设备上一样。非常感谢。Android Studio布局dp

回答

2

你好,你是不是错了,当你说DP是密度独立你可以在材料设计准则看到

“密度独立”是指在 屏幕与用户界面元素的均匀的显示不同的密度。

与浓度无关的像素(发音为“dips”)是灵活的单位,可以在任何屏幕上缩放以统一尺寸。在开发Android 应用程序时,请使用dp在屏幕上统一显示不同密度的元素。

但是,当您给出边距和填充的具体值时,您永远无法完全确定它是否总是按照您计划的方式运行。

要解决这个问题,我们必须为多个屏幕密度创建多个布局文件,并将它们放置为单独的资源文件夹。但是随着ConstraintLayout的引入,你不必再为此担心。

正如你可以在这里阅读,

ConstraintLayout允许你用 平面视图层次结构(没有嵌套视图组)创建庞大而复杂的布局。它与 RelativeLayout相似,因为所有视图都根据 兄弟视图和父级布局之间的关系进行布置,但它的 比RelativeLayout更灵活,并且更容易与Android Studio的布局编辑器一起使用。

了解更多关于ConstraintLayout here

+0

在ConstraintLayout也是我必须做出多个布局文件? –