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);
}