如何为两种景观定义不同的布局?

Posted

技术标签:

【中文标题】如何为两种景观定义不同的布局?【英文标题】:How can I define different layouts for both landscapes? 【发布时间】:2015-03-13 12:30:14 【问题描述】:

我正在尝试为右侧横向和左侧横向定义两种不同的布局。就像在计算器应用程序中,两个方向都显示不同的按钮。我已经尝试过 layout-land ,但这仅适用于一种横向布局。我是新手,这是我的第一个应用程序,所以请帮忙。

【问题讨论】:

【参考方案1】:

-您可以制作两种布局,一种用于右侧,另一种用于左侧并检测方向:

private void getScreenRotationOnPhone() 

    final Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

    switch (display.getRotation()) 
        case Surface.ROTATION_0:
            System.out.println("SCREEN_ORIENTATION_PORTRAIT");
            break;

        case Surface.ROTATION_90:
            System.out.println("SCREEN_ORIENTATION_LANDSCAPE");
            break;

        case Surface.ROTATION_180:
            System.out.println("SCREEN_ORIENTATION_REVERSE_PORTRAIT");
            break;

        case Surface.ROTATION_270:
            System.out.println("SCREEN_ORIENTATION_REVERSE_LANDSCAPE");
            break;
    

- 上面的代码正在检测方向,您可以根据自己的旋转设置布局

-如果对您有帮助,请让我通知或投票谢谢!

【讨论】:

以上是关于如何为两种景观定义不同的布局?的主要内容,如果未能解决你的问题,请参考以下文章

如何为新的面板类重用现有的布局代码?

两种不同的布局(垂直和水平)?

如何为不同的键盘布局使用默认快捷键?

如何为传入和传出的聊天消息使用不同的布局

如何为不同设备自动布局应用程序。

如何为不同的屏幕尺寸创建具有自动布局的比例视图?