问题标签 [android-layout-weight]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
735 浏览

android - 使用嵌套的 LinearLayout 时,Layout_weight 无法正常工作

我想让我的 LinearLayout 以所需的比例显示视图。我已经阅读了大约 10 或 15 个关于 LinearLayout 和 layout_weight 的其他问题,但由于某种原因,似乎没有答案适用于我的案例。我正在创建一个自定义 AlertDialog 颜色选择器,其中创建了一个自定义视图,如下所示:

我遇到的问题是,尽管将我的三个垂直元素(PresetView、subLayout 和 LineView)的 layout_height 设置为0,但权重仍然没有按照我想要的方式分配可用空间。subLayout 没有得到 70% 的空间,但总是更少。

据我所知,PresetView 总是获得尽可能多的垂直空间,而 subLayout 和 LineView 则保留了剩余的空间。这是我onMeasure()的 PresetView 方法:

250 和 150 是相当随意的值 - PresetView 旨在使用几乎任何尺寸集(因为我希望 LinearLayout 控制它的大小!)。

我的印象是使用 0 的 layout_height 并指定权重会使布局控制 View 占用的空间,而不是由 View 控制它。当我将它的 layout_height 设置为 0 时,为什么 PresetView 仍然占用完整的 150 像素?

其他 View的onMeasure()方法与 PresetView 的方法相同,只是值不同。

0 投票
1 回答
592 浏览

android - 奇怪的布局行为 - layout_weight 和按钮

我在我的 Android 应用程序中的布局有一个奇怪的问题(我正在学习它,所以我当然正在制作一个计算器:))。我已将所有按钮指定为行宽的 25%,但是当我在顶部添加 EditText 时,第一列变得比其他三列宽很多。(屏幕截图来自 IntelliJ 预览,但是当我在我的设备上加载应用程序时,显示相同的结果。

当我删除 EditText 时,这个问题就消失了。我尝试将权重属性添加到 XML 中的 EditText,但无济于事。

结果:

结果

我的代码:

0 投票
2 回答
3072 浏览

android - 使用 TableLayout 将视图放置在屏幕/布局的底部

我试图在屏幕底部放置一个带有两个按钮的 TableRow,在布局中的其他视图元素下,但如果我放在那里,TableRow 就会从屏幕上消失。II 放在顶部或中间,没问题。

我尝试了很多 layout_gravity、gravity 和 weight 组合,但我无法得到它。

布局截图

0 投票
5 回答
3871 浏览

android - android布局权重%

我正在尝试使用 Android 布局权重属性。我想要一个带有“3 个子布局”的垂直布局第一个将占用 25% 的空间,第二个占用 50% 的空间,最后一个占用 25% 的空间。当我尝试添加到最后一个布局时,一切都不起作用。这些布局中的每一个的权重应该是多少?

我让权重属性仅使用 2 个布局/元素即可正常工作,并了解它是如何工作的,但是当我尝试使用 3 个时,我遇到了问题。

0 投票
2 回答
2937 浏览

android - 在 Android 中创建类似网格的布局

基本上,我有一个需要拆分为 2x4 网格的视图,每个部分的大小相等(即每行将是屏幕高度的 25%,每列将是屏幕宽度的 50%)。

我的方法是使用水平 LinearLayout 和两个权重为 0.5 的内部 LinearLayouts,然后在每个 LinearLayouts 中将子项的权重设置为 0.25,以便每个子项占屏幕的 25%。

尽管这似乎可行,但这显然对性能非常不利(请参阅此线程,了解为什么嵌套权重对性能不利?替代方案?

有没有其他方法可以实现这一目标?我环顾四周,但找不到纯 XML 解决方案。

请参阅下面的代码示例,了解我如何设置 LinearLayouts 及其子项

0 投票
4 回答
3003 浏览

android - 固定屏幕布局比例

在我的应用程序中,我有 2 种线性布局:一种在顶部,一种在底部。

我希望无论这些布局里面是什么,顶部的布局占屏幕高度的 60%,底部的布局占 40%。这是我的 XML 代码:

当这些布局为空时,没有问题,它们具有良好的比例。

问题是,如果我在顶部布局中放置一个小的列表视图,例如,那么布局将采用列表视图的大小,并且不会保留 60/40% 的比例。

我希望即使我的列表视图很小(例如只有 3 个项目),布局也会保留 60%,因此在我的列表视图下放置一些空白空间。

我试图改变android:layout_heightmatch_parent但它没有改变任何东西。

0 投票
2 回答
9107 浏览

java - Android:以编程方式设置权重参数与我想要的相反

我的安卓有问题。我在 Java 中设置 Weight 参数,但它的作用与我想要的完全相反。

这是代码

我重复这个过程 7 次,在容器布局之间添加一条黑线。通常我应该在左边得到一个小的红色柱子,和一个大的黑色柱子,但这就是我用这段代码得到的:

http://i.stack.imgur.com/PPgoy.png

为什么它与代码完全相反?

0 投票
1 回答
1409 浏览

java - 设置表格元素的权重

我正在尝试以编程方式在表格中设置文本视图和复选框的权重。经过一番研究,我发现 LayoutParams 的第三个参数用于执行此操作。但是,它似乎不起作用。有人可以看看这段代码,看看有什么问题吗?谢谢。(使用 LinearLayout 建议编辑)

0 投票
2 回答
2284 浏览

android - 嵌套线性布局权重

我有一个“主”LinearLayout,其中嵌套了几个其他 LinearLayout,它们从一边延伸到另一边。我想知道是否可以使用权重将嵌套布局之间的垂直空间与百分比分开。如果是这样,这可能是我目前在使用我的应用程序时遇到的所有问题的解决方案。感谢所有帮助!

这是我的目标: 在此处输入图像描述

我想垂直分割它们,所以它会很好地扩展。

0 投票
1 回答
1215 浏览

android - layout_weight 如何让小部件消失?

我将 LinearLayouts 嵌套在“主布局”中,其宽度设置为fill_parent,高度设置为0dp.

Master 的权重总和为 100,垂直方向,我有嵌套布局及其各自的权重。目标是分割垂直空间,但它们都消失了。我究竟做错了什么?

这是XML,我只应用weight/layouts了前几个。