上周有个项目需求在横竖屏中控制不一样的布局,我当时采用的方法是写在同一套布局中,监听手机横竖屏的切换事件,来控制布局中各个控件的显示或者隐藏。
这个方法相对来说还行。上几篇帖子中我也说了怎么判断当前手机是横屏模式还是竖屏模式,这里再把工具类贴一下给大家看看:
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代码中控制控件的显示和隐藏。
时间: 2024-11-02 16:23:45