Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Layout 方向改变时如何更改布局_Layout_Blackberry - Fatal编程技术网

Layout 方向改变时如何更改布局

Layout 方向改变时如何更改布局,layout,blackberry,Layout,Blackberry,当我从纵向模式转到横向模式时,我想更改我的黑莓屏幕GUI protected void sublayout(int width, int height) { // TODO Auto-generated method stub if(Display.getOrientation()==Display.DIRECTION_PORTRAIT) { label.setText("Portrait"); } else {

当我从纵向模式转到横向模式时,我想更改我的黑莓屏幕GUI

protected void sublayout(int width, int height) {
    // TODO Auto-generated method stub

    if(Display.getOrientation()==Display.DIRECTION_PORTRAIT)
    {
        label.setText("Portrait");
    }
    else
    {
        label.setText("Landscape");
    }

    super.sublayout(width, height);
}

如果您需要手动处理,将不胜感激。每当blackberry中的方向发生变化时,它就会调用subLayout()方法。在那里你可以调用invalidate方法来刷新你的屏幕。但请确保您使用的是相对布局,而不是绝对布局。它将自动排列屏幕中的UI元素

Override在屏幕上,只要方向发生变化,就会调用它,以便您可以使用它添加/删除/更改字段


还可以使用Display.getOrientation()检查当前方向。您还应该在应用程序中跟踪以前的方向,以防因其他原因调用子布局

我不熟悉BB中的setLayout,那不是Android吗?我已经做过这件事,请参见代码更新..但它在设置文本之前在事件线程上提供了IllegalStateExceptionSynchronize。