0
我想每当用户更改手机的方向时显示警报。有一种方法可以捕捉到这种打击? 我使用Display.getOrientation();
。但它总是以不同的方向返回32。控制屏幕方向黑莓
我想每当用户更改手机的方向时显示警报。有一种方法可以捕捉到这种打击? 我使用Display.getOrientation();
。但它总是以不同的方向返回32。控制屏幕方向黑莓
注:当你检查你的方向在9800模拟器关闭滑块其他明智它不会工作
试试下面的代码:
public class checkOrientation
{
VerticalFieldManager manager;int ori;
public checkOrientation()
{
ori=Display.getOrientation();
manager=new VerticalFieldManager()
{
protected void sublayout(int maxWidth, int maxHeight) {
super.sublayout(Display.getWidth(),Display.getHeight());
setExtent(Display.getWidth(),Display.getHeight());
if(ori!=Display.getOrientation()){
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
ori=Display.getOrientation();
Dialog.inform(""+Display.getOrientation());
}
});
}
}
};
add(manager);
}
}
当方向更改时,您会拨打sublayout()
。您可以将displaywidth
保存为变量,并且如果sublayout()
中的值已更改,则知道方向已更改。
这样子。
protected void sublayout(int width, int height) {
if(Display.getWidth()==oldWidth)
{
//no change
}
else
{
// orientation changed
}
oldWidth = Display.getWidth();
super.sublayout(width, height);
}