代号一 - 调整大纲/细节布局的大小



我的Android应用程序在大纲/细节形式中具有特殊的布局:横向模式下左侧的列表必须与纵向模式下一样大。

我正在用代号一移植应用程序。

这是我在主窗体代码中的内容:

if(isTablet() && !isPortrait()) {
itemListContainer.setWidth(Display.getInstance().getDisplayHeight());
editingContainer.setWidth(Display.getInstance().getDisplayWidth()-Display.getInstance().getDisplayHeight());

System.out.println("size "+itemListContainer.getWidth()+" "+itemListContainer.getHeight()); 
//width was 0, now it is 1536 but the actual layout is the same as before, height is 0
//calls to animate() were here but useless

mainForm.add(itemListContainer).add( editingContainer);
} else {

mainForm.add(itemListContainer);

}

我还尝试调用 animate(( 方法。

mainForm 布局是 BoxLayout.x((,即水平布局。

上面的代码对大小或布局没有影响。我在模拟器上得到了相同的布局,左侧容器的大小与我放在里面的标签相同。

调整大小的正确方法是什么?

使用setPreferredW(int).setWidth将被布局覆盖,但首选宽度将通过更新/旋转等方式保持不变。

请注意,首选大小方法已弃用,因为大多数用途不建议使用它们。更好的方法是使用在这种情况下可能不适用的布局。例如,表格布局支持放置具有宽度百分比约束的组件,这适用于大多数此类用例。

弃用只是为了引起您的注意,此 API 不会消失或停止工作......

相关内容

  • 没有找到相关文章

最新更新