问题标签 [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.
android - Android中的线性布局和权重
我总是在 Android 文档中读到这个有趣的权重值。现在我想第一次尝试它,但它根本不起作用。
正如我从文档中了解的那样,这个布局:
应该创建两个水平对齐并平均共享空间的按钮。问题是两个按钮不会增长以填充空间。
我希望按钮能够增长并填满整条线。如果两个按钮都设置为匹配父级,则仅显示第一个按钮并填充整行。
android - 以编程方式设置 TextView 的布局权重
我正在尝试动态创建TableRow
对象并将它们添加到TableLayout
. TableRow
对象有 2 个项目, a和TextView
a CheckBox
。TextView
项目需要将其布局权重设置为 1 才能将项目推到CheckBox
最右侧。
我找不到有关如何以编程方式设置TextView
项目的布局权重的文档。
android - 线性布局 - 重量和 FILL_PARENT 之间的差异
根据documentaion, FILL_PARENT 基本上让视图占据了整个额外空间。重量还决定了视图可以占用多少额外空间。有什么区别?
例如:当我使用时会发生什么,
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"
和适当的命名空间。
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
我完全不知道这一切背后的数学原理是什么。
android - 如何从代码中动态设置 layout_weight 属性?
如何layout_weight
从java代码动态设置android中按钮的属性值?
android - 使用 layout_weight、layout_width 和 maxWidth 的 Android 布局
我正在尝试获取一行文本,类似于
foofoofoo - barbarbar
但如果它不适合一行,我希望它省略 foo 和 bar。即我正在尝试缩短它们。
忍受我这部分工作。
设置TextView
's layout_width
to be0dip
和layout_weight
to be1
意味着它们将分别占用 50% 的可用空间。
设置singleLine
totrue
和ellipsize
totrue
意味着它们看起来像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
才能工作,但这没有影响。
android - 以编程方式设置 ViewFlipper 权重
我想以编程方式更改 ViewFlipper 的权重。我有一个 TableRow,其中有 2 列。当第二列包含 ViewFlipper 时,第一列包含一个 RelativeLayout 元素。我的 ViewFlipper 包含 2 个视图。不知何故,在我的 Java 代码中,当我单击一个按钮时,我更改了 ViewFlipper 的可见视图。我想要做的是,当我更改 ViewFlipper 视图(通过调用 showNext())时,能够更改 ViewFlipper 的权重,以使其在屏幕中更大。
换句话说,我的行的第一列的权重=1,第二列(ViewFlipper)的权重=0.8。当我单击一个按钮时,我想以编程方式更改这些权重。那可能吗 ?如何 ?下面是我的 XML 代码。
我在网上搜索过,我找到了这个解决方案:
这不起作用,它崩溃了,也就是说,我认为正常,因为 ViewFlipper 不是 LinearLayout。
这是我的 XML 代码:
你有什么主意吗 ?
谢谢
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 图形布局查看器中所见),并且只有另外两个可见。