首页 > 技术文章 > 浅析Android的横竖屏切换

jackxlee 2015-08-11 10:50 原文

上周有个项目需求在横竖屏中控制不一样的布局,我当时采用的方法是写在同一套布局中,监听手机横竖屏的切换事件,来控制布局中各个控件的显示或者隐藏。

这个方法相对来说还行。上几篇帖子中我也说了怎么判断当前手机是横屏模式还是竖屏模式,这里再把工具类贴一下给大家看看:

public static boolean isScreenChange(Context mContext) {
        Configuration mConfiguration = mContext.getResources().getConfiguration();
        int ori = mConfiguration.orientation;
        if(ori == mConfiguration.ORIENTATION_LANDSCAPE) {
            return true;
        }else if(ori == mConfiguration.ORIENTATION_PORTRAIT) {
            return false;
        }
        return false;
    }

那么今天呢再给大家介绍一个方法,就是在xml layout层面来设置横竖屏切换时的不同布局,方法很简单,需要在res目录下再新建一个文件夹"layout-land",当你在旋转屏幕时程序会自动切换到相应的布局文件夹中,

这里需要注意的一点是:在layout和layout-land两个文件夹中布局文件的名称一定要相同。这样它们才能以同一个资源ID被引用。

这种方式与我说的第一种方式而言,相对比较独立,而且同一个布局文件中不会有太多的控件和在java代码中控制控件的显示和隐藏。

推荐阅读