Я хочу отображать предупреждение каждый раз, когда пользователь меняет ориентацию мобильного телефона. Есть способ зафиксировать это движение? Я использую Display.getOrientation();
. Но он всегда возвращает 32 в другой ориентации.
управление ориентацией экрана Blackberry
Ответы (2)
Примечание: когда вы проверяете ориентацию, вы должны закрыть SLIDER в симуляторе 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);
}
}
person
Govindarao Kondala
schedule
09.01.2012
Вы получаете вызов 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);
}
person
rfsk2010
schedule
09.01.2012