如何避免在 Android 设备中低于特定高度的不可滚动布局中截断视图

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

我有一个无法滚动的约束布局,所有视图都必须始终可见。我遇到的问题是,对于高度为 1920 或更低的设备,UI 会变得非常拥挤,一些文本视图开始重叠,底部会被切掉一点。

布局结构是

<ConstraintLayout>
  <LinearLayout />
  <FrameLayout /> <-- this has an imageview of fixed height of 192dp
  <some views..>
  <last view> <-- has app:layout_constraintBottom_toBottomOf="parent" constraint
</ConstraintLayout>

如何说高度 1920 或以下使用不同的布局?我在 Nexus 5 上尝试了一些限定符,例如

sw320dp
layout-h1920dp
(不是一个好的选择),但它不会从这些目录中获取布局。在这种情况下我该如何处理 Nexus 5?

我不认为测量高度并进行动态布局是一个有吸引力的选择。

android android-constraintlayout android-xml android-resources android-resource-qualifiers
1个回答
0
投票

您不能使用不同的布局来调整尺寸。所以就这么做吧。将小尺寸布局放在布局目录中,将大布局放在layout-h1920dp中。

顺便说一句,1920dp 很大。仅高度就是 12 英寸(160dp=1 英寸)——基本上您正在看显示器。即使是最大的平板电脑也只有 12 英寸对角线,这是一个很小的数字 - 大多数都是 7 或 10 英寸。我怀疑市场上有没有这么大的型号。所以 1920 dp 不是您想要的尺寸。

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