【发布时间】:2023-03-22 03:21:01
【问题描述】:
我确定有人以某种形式提出过这个问题,但我找不到任何可以满足我的需求的东西。
我正在制作一个类似于以下示例的 Android 布局。整个屏幕是垂直布局。灰色区域显示一个 webview 橙色视图包含一个按钮和一些填充信息。
我想让 Android 仅在知道按钮和填充大小的情况下“弄清楚”灰色区域应该有多大。有什么好办法吗?
注意:我通常使用布局权重来完成它,但我很好奇是否有更好的方法。
【问题讨论】:
我确定有人以某种形式提出过这个问题,但我找不到任何可以满足我的需求的东西。
我正在制作一个类似于以下示例的 Android 布局。整个屏幕是垂直布局。灰色区域显示一个 webview 橙色视图包含一个按钮和一些填充信息。
我想让 Android 仅在知道按钮和填充大小的情况下“弄清楚”灰色区域应该有多大。有什么好办法吗?
注意:我通常使用布局权重来完成它,但我很好奇是否有更好的方法。
【问题讨论】:
我通常使用布局权重来完成它,但我很好奇是否有更好的方法。
没有。
LinearLayout 带有权重、RelativLayout 或 ContraintLayout,都归结为同一件事:您有一些需要解决的约束。您的布局很简单,因此只需选择您喜欢的任何方法,因为实际上并没有性能差异或影响。
如果您需要这种性能(比如说它是一个真正复杂布局的顶级容器),您可以做的最好的事情就是创建一个自定义ViewGroup在将剩余高度分配给其他视图之前测量底部的视图。
这将是“干净”的解决方案,因为您了解这些约束并且可以直接实施它们。
【讨论】:
在Relative layout中先布局查看webview。上面橙色部分设置webview布局,橙色按钮设置
android:alignparentBottom="true"
【讨论】: