Layout 方向改变时如何更改布局
当我从纵向模式转到横向模式时,我想更改我的黑莓屏幕GUILayout 方向改变时如何更改布局,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 {
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。