0

如何在纵向模式下设置组件的位置。当我将其更改为横向模式时,组件的位置以不同的方式显示。

4

3 回答 3

0

你试过这个吗?

http://docs.blackberry.com/en/developers/deliverables/11958/Specifying_display_direction_of_screen_647783_11.jsp

于 2012-04-28T08:29:15.320 回答
0

为此,您可以使用MainSceen 的subLayout()方法。试试这个

     protected void sublayout(final int width, final int height) {

 switch (Display.getOrientation()) {
 case Display.ORIENTATION_LANDSCAPE:
      {
        do something
      }
     break;
 case Display.ORIENTATION_PORTRAIT:
      {
        do something
      }
     break;

 }

  super.sublayout(width, height);
 }
于 2012-04-30T05:12:25.213 回答
0

这是更改屏幕方向的代码 这是我的 LoadingScreen。这里 StartUp 是另一个 className。我们在这里创建 ScreenOrientation 方法。

    public class LoadingScreen extends MainScreen
{
public LoadingScreen()
{       
    createGUI();
}

protected void sublayout(int width, int height) 
{
    StartUp.screenOrientation();        
    if(StartUp.isLandscape)
    {
        deleteAll();
        createGUI();            
        invalidate();           
    }
    else
    {   
        deleteAll();
        orientGUI();            
        invalidate();
    }
    super.sublayout(width,height);  
}

public void createGUI()
{
    //For LANDSCAPE Display;
}

public void orientGUI()
{
    //For PORTRAIT Display;
}   
}

屏幕方向方法:

 public static void screenOrientation()
{
    if(Display.getOrientation()==Display.ORIENTATION_LANDSCAPE)     
    {
        isLandscape=true;
        width=480;
        height=360;
    }
    else
    {
        isLandscape=false;
        width=360;
        height=480;
    }
}
于 2012-04-30T11:23:05.253 回答