【问题标题】:LWUIT 1.5 Table - horizontal spanning layoutLWUIT 1.5 表 - 水平跨越布局
【发布时间】:2017-12-17 17:59:13
【问题描述】:

我想知道这是一个错误还是我的错误代码。我一直在尝试用一些水平跨越来渲染表格。它应该是这样的:

在 LWUIT 1.4 中一切正常。从 1.5 开始,表格如下所示:

我的实现:

DefaultTableModel model = new DefaultTableModel(new String[]{"", "", "", ""}, new String[][]{
                {"Header", null, null, null},
                {"1", "2", "3", "4"},
                {"1", "2", "3", "4"},
                {"String", null, "String", null}});


Table tab = new Table(model, false) {

        protected Component createCell(Object value, final int row, final int column, boolean editable) {
            Component c = super.createCell(value, row, column, editable);
            c.setFocusable(false);
            return c;
        }

        protected TableLayout.Constraint createCellConstraint(java.lang.Object value, int row, int column) {
            TableLayout.Constraint tlay = super.createCellConstraint(value, row, column);
            if (row == 0 && column == 0) {
                tlay.setHorizontalSpan(4);
                tlay.setHorizontalAlign(Table.CENTER);
            } else if (row == 3)) {
                if (column == 0) {
                    tlay.setHorizontalSpan(2);
                    tlay.setWidthPercentage(50);
                } else if (column == 2) {
                    tlay.setHorizontalSpan(2);
                    tlay.setWidthPercentage(50);
                }
            } else if (row != 0) {
                tlay.setWidthPercentage(25);
            }
            return tlay;
        }

    };

【问题讨论】:

  • 嗨,如何删除表格模型中的边框线。我用过 (Tabel table.getStyle().setBorder(null);)。它只去除边界线,而不是单元格边界。

标签: java-me tablelayout lwuit


【解决方案1】:

该错误(在 LWUIT 中)由 tlay.setWidthPercentage(50); 触发,您可以删除它并仍然获得预期的结果。似乎宽度百分比值没有考虑到我猜应该的跨越。

您应该在问题跟踪器中为此提交一个错误,感谢您的错误。

【讨论】:

  • 感谢您的回答!没有 tlay.setWidthPercentage(50) 效果更好。表格结构渲染良好,但宽度百分比不准确。
  • 尝试将所有内容的边距/填充设置为 0,以确保这些都不会妨碍您。由于使用了百分比(不是像素),我们不能保证 100% 的准确度,这在针对多个设备分辨率时没有多大意义。但是,如果它很明显,请在问题跟踪器中提交问题。谢谢。
【解决方案2】:

我添加了这一行

TableLayout.setDefaultColumnWidth(1);

之前

Table tab = new Table(model, false) {
...

它成功了。

【讨论】:

  • 顺便说一句,我试图找出有什么区别,但是从 svn 存储库中删除了“ver 1.4”)
猜你喜欢
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 2020-04-15
相关资源
最近更新 更多