- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有这个布局,一旦我设置了一些数据动态布局就不会调整大小,最终结果是这样的
这是我使用的代码
win = Ext.create('widget.window', {
title: 'Layout Window',
closable: true,
closeAction: 'hide',
width: 750,
height: 500,
layout: 'fit',
animCollapse: true,
bodyPadding: 5,
items: [{
xtype: 'container',
layout: 'hbox',
align: 'stretch',
items: [{
xtype: 'fieldset',
flex:1,
title: 'Details',
margins:'0 5 0 0',
layout: 'anchor',
autoHeight: true,
items: [{
xtype: 'displayfield',
fieldLabel: 'Name',
name: 'customer_name',
id: 'customer_name',
width: 300
},{
xtype: 'displayfield',
fieldLabel: 'ID Card',
id: 'customer_id',
name: 'customer_id',
width: 300
},{
xtype: 'displayfield',
fieldLabel: 'Address',
name: 'address',
id: 'address',
width: 300
}]
},{
xtype: 'fieldset',
title: 'Details',
margins:'0 0 5 0',
flex:1,
layout: 'anchor',
autoHeight: true,
items: [{
xtype: 'textfield',
labelWidth: 120,
fieldLabel: 'invoice',
anchor: '98%',
name: 'invoice_number',
id: 'invoice_number',
allowBlank: false,
readOnly: true
},{
xtype: 'textfield',
labelWidth: 120,
fieldLabel: 'Payment Amount',
anchor: '98%',
name: 'payment_amount',
id: 'payment_amount',
allowBlank: false
},{
xtype: 'button',
id: 'test'
}]
}]
}]
}).show();
这个,我只是用来设置数据显示字段作为测试
Ext.getCmp('test').on('click', function(){
Ext.getCmp('customer_name').setValue('customer name customer_name customer_name customer_name');
Ext.getCmp('customer_id').setValue('855');
Ext.getCmp('address').setValue('some text, some text, some text, some text');
});
知道如何解决这个问题吗?
问候
最佳答案
首先,这是一个快速技巧,可以让您在左侧的字段集根据内容的长度自动扩展:
在设置显示字段集的内容后,立即执行此操作:
win.query('fieldset')[0].setHeight('auto');
无需太多修改,示例如下:jsfiddle
(query
是一种全局可用的方法,可用于所有继承 Ext.Component
的组件,以查询下面的元素,如 css 选择器)
额外说明
一些注意事项:
要使用 align:'stretch'
,您不能将其作为直接配置提供给组件,您需要这样做:
Ext.create('Ext.panel.Panel', {
layout: {
type: 'hbox',
align: 'stretch'
},
items: [...]
});
你会想 check out this testing demo .第一个窗口将按预期工作,而第二个和第三个窗口无法拉伸(stretch)面板。
其次,autoHeight
自 ExtJS 4 以来已被删除,因此在您的配置中将被忽略。您可能需要使用 setHeight('auto')
手动将其设置为自动高度。
编辑
似乎使用 column
布局可以在不使用 setHeight('auto')
的情况下达到相同的效果。 Check out the fiddle here .
干杯!
关于javascript - 如何为 extjs hbox 布局设置自动高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6866969/
HBox 是一个容器组件,用于在一条水平线上保留和排列控件。然而,我在我的应用程序中的许多 HBox 容器之一中遇到了控件的“困惑”放置,并且该放置绝对不像水平线,而且,包含在 HBox 中的控件与
我正在尝试为我制作的模块( see this SO question )制作一个输入小部件。 输入小部件应该有一个标题栏和下面可变数量的输入行。我想在每个输入行的末尾有一个删除按钮。 理想情况下,删除
我目前正在开发一个 javaFX 项目,该项目必须处理将 3 个 Pane 堆叠在一起的问题。顶部一个包含 5 个单选按钮,中间包含一个文本“编程很有趣”,底部 Pane 包含两个带有“”符号。基本上
我们在我们的应用程序中使用 ExtJS4。但是我们面临 hbox 布局的问题。我们需要从右侧置换项目。通常在 ExtJS4 中,hbox 布局中的项目从左侧开始并向右移动。但是我们需要从右侧开始向左侧
我有一个 hbox 布局容器,可容纳 2 个面板,当面板超过容器的高度时,就没有垂直滚动条。 我希望滚动条出现在父水平盒子面板上,而不是子项目上。 可以吗? 最佳答案 您应该能够使用 hbox 布局将
我试图通过从数据库获取数据来动态添加对象/元素。我想要实现的是,我想复制具有相同 attributes 的相同 HBox ,例如 FontAwesomeIcon 等。但是,我只是想更改标签。 这就是我
我不明白为什么我的 HBox 周围没有边框?现在什么也没有发生,除了 eclipse 抛出 IllegalArgumentException 之外,因为我猜是 this.setCenter(hbox)
我放置了 HBox进入 BorderPane 的中心,那就是唯一直接Node在DialogPane上我的Dialog通过使用此代码: public GameDialog(Player[] pl
我有一个可调整大小的面板,其中包含另一个内部带有水平盒布局的面板。整个显示设置是正确的,期望一种行为;渲染后用鼠标调整主面板大小时;它不是内部自动调整项目。 要成功适合那些项目; 需要再次调整主面板的
是否可以有一个带有关闭按钮的 HBox(即用于删除 HBox 的子按钮)? I我计划将其实现为这样的: 我想创建一个自己的类,它继承自 HBox 类,并且在实例化后就已经有一个关闭按钮。 关闭按钮需要
我尝试简单的测试 package sample; import javafx.application.Application; import javafx.geometry.Insets; impor
所以,我似乎无法让 HBox 出现在我的应用程序中。 Button 出现了,但 HBox 没有出现。有人可以让我知道我做错了什么吗? package cyanlauncher; import java
我的 Javafx 应用程序中有一个 HBox,配置如下 HBox belowBox = new HBox(10); belowBox.getStyleClass().addAll("pane",
我一直在开发一个使用 JavaFX 的软件,但我遇到了一个愚蠢但令人担忧的问题。 在代码的某些部分,我有一个HBox,在它里面有三个项目:一个image,一个label和一个垂直框。 问题是我想让 i
如何在 HBox 中隐藏一个项目,并让该项目使用的空间可供其他项目使用。 TitledPane legendPane = new TitledPane("Legend", _legend); lege
在 Windows 7 中的 gtk+3.0 中。 我正在创建一个按钮并将它们打包成水平框。我已将扩展设置为 FALSE。现在按钮不是在 x 方向扩展而是垂直扩展。我不希望按钮也垂直扩展。 int m
我有一个包含 javafx.scene.layout.HBox 的 JavaFX 场景。此 HBox 包含两个子项,一个 javafx.scene.control.ComboBox 后跟一个 java
考虑以下代码: HBox hbox = new HBox(); Button button1 = new Button("A"); Button button2 = new Button("B");
我无法让 buttonContainer HBox 中的按钮工作,因为我根本无法点击它们,它们被“卡住”了,所以说话。这种情况在多个 IDE 中都会发生,所以不可能是这样。我不明白为什么他们被卡住而无
我正在尝试创建一个程序,当单击按钮时它将显示脸部。例如,微笑按钮将显示笑脸,思考按钮将显示思考脸。问题是,当选择一个形状时,如何删除其他两个形状? 我尝试过以下方法: frownButton.setO
我是一名优秀的程序员,十分优秀!