问题标签 [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 投票
19 回答
425966 浏览

android - Android中的线性布局和权重

我总是在 Android 文档中读到这个有趣的权重值。现在我想第一次尝试它,但它根本不起作用。

正如我从文档中了解的那样,这个布局:

应该创建两个水平对齐并平均共享空间的按钮。问题是两个按钮不会增长以填充空间。

我希望按钮能够增长并填满整条线。如果两个按钮都设置为匹配父级,则仅显示第一个按钮并填充整行。

0 投票
12 回答
236438 浏览

android - 以编程方式设置 TextView 的布局权重

我正在尝试动态创建TableRow对象并将它们添加到TableLayout. TableRow对象有 2 个项目, a和TextViewa CheckBoxTextView项目需要将其布局权重设置为 1 才能将项目推到CheckBox最右侧。

我找不到有关如何以编程方式设置TextView项目的布局权重的文档。

0 投票
1 回答
5580 浏览

android - 线性布局 - 重量和 FILL_PARENT 之间的差异

根据documentaion, FILL_PARENT 基本上让视图占据了整个额外空间。重量还决定了视图可以占用多少额外空间。有什么区别?

例如:当我使用时会发生什么,

0 投票
2 回答
3201 浏览

android - LinearLayout 内的TextView 拉伸LinearLayout 和fill_parent 修复导致权重翻转

如果我有 2 个 LinearLayouts 拆分 %50/%50 一切都很好。权重是 1 和 1。只要我在顶部 LinearLayout 中添加一个 TextView,它就会拉伸该布局。wrap_content当涉及到权重时,我应该按照文档中所说的那样使用。

如您所见,红色和绿色应均匀分割,灰色背景上的文本应位于红色框内。这是代码:

现在,如果我按如下方式切换到“填充父级”,它实际上可以工作,但会产生另一个问题。这是代码(到目前为止很好):

所以看上面我们被迫使用fill_parent,我们会认为我们解决了问题,但如果我们正在使用这就是问题fill_parent(我拿出 TextView 只是为了显示问题,TextView 无论如何都不会让问题消失) :

如您所见,我分配了权重 3(顶部红色)和 2(底部绿色),但实际发生的是它们被翻转:红色变为 2,底部变为 3。只需测量像素也可以看到。

以下是 3 个代码的结果:

为了清楚起见,每次布局都包含在这个(顶部布局)中:

使用 XMLversion="1.0" encoding="utf-8"和适当的命名空间。

0 投票
2 回答
8518 浏览

android - Android:试图理解 android:layout_weight

我正在尝试将页面分为三个部分。我想用百分比值来做,但是 Android 不支持。相反,我必须使用android:layout_weight. 但我很难理解并正确处理它。特别是如何计算实际大小。有没有办法得到一个百分比值(0..100%)android:layout_weight

我经历了几个案例(见附件截图)来描述问题。彩色字段都<LinearLayout>带有android:layout_height="fill_parent",因为我希望在它们之间划分全屏。

情况1

替代文字

好吧,很简单。每个<LinearLayout>人得到 33%。

案例2

替代文字

UPS?!第一个(黄色)<LinearLayout>完全消失?为什么?

案例3

替代文字

又是一头雾水。黄色<LinearLayout>回来了。然而,这两个首先<LinearLayout>重量更重的变得更小?到底是怎么回事?

案例4

替代文字

我完全不知道这一切背后的数学原理是什么。

0 投票
1 回答
3210 浏览

java - layout_weight 在表格行中带有按钮和文本视图

我正在尝试制作四行,每行三个按钮,按钮底部是两个文本视图。我希望它们都均匀分布,但它们不是,我不知道为什么。

这是我main.xml文件中的代码。

我的文本视图有以下代码:

当我运行我的程序时,我得到:

替代文字

0 投票
10 回答
247453 浏览

android - 如何从代码中动态设置 layout_weight 属性?

如何layout_weight从java代码动态设置android中按钮的属性值?

0 投票
2 回答
8949 浏览

android - 使用 layout_weight、layout_width 和 maxWidth 的 Android 布局

我正在尝试获取一行文本,类似于

foofoofoo - barbarbar

但如果它不适合一行,我希望它省略 foo 和 bar。即我正在尝试缩短它们。

忍受我这部分工作。

设置TextView's layout_widthto be0diplayout_weightto be1意味着它们将分别占用 50% 的可用空间。

设置singleLinetotrueellipsizetotrue意味着它们看起来像foofoo...如果文本大于容器。

因此我的结果(如果文本更长)应该是

foofoo.. - barbar..

它是哪一个!所以这行得通。

现在我要解决的情况是,如果第一个TextView(id:text_1) 的文本小于给出的 50%layout_width="0dip"并且layout_weight="1"我想要它wrap_content。否则它看起来像:

foo 空格 - barbar..

而且我要

foo - barbarbar

这就是为什么我已经更改layout_width="wrap_content"并添加了android:maxWidth="0dip"但这不起作用!它似乎无视我的说法wrap_content,仍然给这个观点 50%!

我读到您需要添加android:adjustViewBounds="true"formaxWidth才能工作,但这没有影响。

0 投票
1 回答
1695 浏览

android - 以编程方式设置 ViewFlipper 权重

我想以编程方式更改 ViewFlipper 的权重。我有一个 TableRow,其中有 2 列。当第二列包含 ViewFlipper 时,第一列包含一个 RelativeLayout 元素。我的 ViewFlipper 包含 2 个视图。不知何故,在我的 Java 代码中,当我单击一个按钮时,我更改了 ViewFlipper 的可见视图。我想要做的是,当我更改 ViewFlipper 视图(通过调用 showNext())时,能够更改 ViewFlipper 的权重,以使其在屏幕中更大。

换句话说,我的行的第一列的权重=1,第二列(ViewFlipper)的权重=0.8。当我单击一个按钮时,我想以编程方式更改这些权重。那可能吗 ?如何 ?下面是我的 XML 代码。

我在网上搜索过,我找到了这个解决方案:

这不起作用,它崩溃了,也就是说,我认为正常,因为 ViewFlipper 不是 LinearLayout。

这是我的 XML 代码:

你有什么主意吗 ?

谢谢

0 投票
1 回答
2986 浏览

android - 如何使我的 Android LinearLayout 权重与 1 和 2 的值一起使用?

我正在尝试制作一个具有三行的 LinearLayout,每行的高度相同。我在主布局中使用了 3 个 LinearLayout,每个布局的权重为 1。

中间的LinearLayout应该包含一个ImageView、TextView、ImageView,权重分别为1、2、1。为此,我在中间的 LinearLayout 中创建了另一个 3。

我希望 TextView 的大小是每个 ImageView 的两倍。如果您看到下面的代码,当内部 LinearLayouts 的 layout_weight 为 1 时,我没有问题,这三个出现的大小相等。但是,当我将中间一个(使用 id=textLayout)设置为 时layout_weight=2,它会完全消失(如 Eclipse 图形布局查看器中所见),并且只有另外两个可见。