如何让安卓的布局适合所有屏幕?[关闭]

问题描述 投票:0回答:1

我知道以前也有人问过类似的问题。但我不能得到一个适当的解决方案,我的问题。我做了一个安卓应用,在google pixel screen上完美的运行。但在切换到其他移动设备时,布局变得一团糟。我试过很多方法,比如定义最小的屏幕宽度值,不同的布局可绘制图片。但还是无法让布局在所有移动屏幕上保持不变。谁能给我推荐一些你们用来让布局一致的方法。我现在真的很困。

java android android-studio layout android-constraintlayout
1个回答
3
投票

你必须使用'match_parent'和'wrap_content'来设置layoutwidgets的宽度和高度,在某些情况下,你必须定义布局组件的硬编码大小。在这种情况下,你可以使用SDP库[]。https:/github.comintuitsdp]. 它易于使用并支持多种设备,如手机和平板电脑。


1
投票

确保你的工作与match_parent或wrap_content,而不是一个定义的大小,例如 "65dp"。

我建议将match_parent放在你布局中的根视图的宽度和高度上。

对于那些相对于其他视图的视图,我建议使用约束布局,在宽度和高度上使用 "0dp"(也称为匹配约束),并添加toptotopbottomtobottomstarttostartendtoend。

如果你想要不小于某个尺寸--一定要添加minWidth和minHeight。


1
投票

大伙儿说的都是对的。wrap_contentmatch_parent 是解决方案。但并不是每一次你都能够使用它们。当然,总会有一些变通的方法,但我强烈推荐这个库。

implementation 'com.intuit.sdp:sdp-android:1.0.6'

它是一组代表不同大小的值 dp 以适应不同的屏幕尺寸。当然这并不是每次都适用,但至少你可以更多的使用定义的尺寸,并期望它们能适应某些屏幕尺寸。


1
投票

为了确保你的布局是灵活的,并适应不同的屏幕尺寸,你应该使用 "wrap_content "和 "match_parent "来调整大多数视图组件的宽度和高度,而不是硬编码的尺寸。

应用程序可以通过为每个屏幕密度创建布局文件来适应不同的屏幕分辨率,即(activity.xml , activity.xml xhdpi, activity.xml mdpi等)。像素密度是指屏幕物理区域内的像素数量,被称为dpi(dots per inch)。

© www.soinside.com 2019 - 2024. All rights reserved.