浅析Android的横竖屏切换

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

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

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

浅析Android的横竖屏切换的相关文章

Android模拟器横竖屏切换

搞了这么长时间的android开发,却对一些基础的东西一直模棱两可...就比如这个onPause和onStop.如果从一个界面,跳到另一个界面,那么是调用哪个呢? 经过我的实验.搞清楚了.onPause是有活动状态变为非活动状态.onStop()是变为不可见.那么从一个页面跳到另一个页面就是依次调用onPause,onStop.看下程序: package com.example.fuhe; import android.os.Bundle; import android.app.Activity

Android Configuration横竖屏切换时Activity生命周期调用

问题:横竖屏切换时Activity的生命周期? 测试环境:华为mate7 package com.virglass.beyond.activity; import android.app.Activity; import android.content.res.Configuration; import android.os.Bundle; import com.virglass.beyond.utils.LogUtil; /** * 系统设置更改 * @author Administrator

Android之横竖屏切换内容丢失问题解决方法

注意: 在横屏竖屏切换过程中,Activity会被重新创建 onCreate方法会重新执行 如果没有id的组件如编辑框等则横屏填写的编辑框中的数据,写到一半后如果竖屏显示, 数据会丢失 谷歌解决方案: 如果拥有id 会在第一次创建Activity,执行完onCreate()方法之后把id组件中对应的值临时保存存起来, 在旋转后再次创建Activity时 但是是在    执行完onCreate()方法之后!!!!!执行完之后!!!! 根据id找到对应的值填写上去 版权声明:本文为博主原创文章,未经

Android 禁止横竖屏切换

xml设置竖屏显示<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.himi" android:versionCode="1" android:versionName="1.0"&

[Android Pro] 横竖屏切换时,禁止activity重新创建,android:configChanges=&quot;keyboardHidden|orientation&quot; 不起作用

referece to : http://blog.csdn.net/mybook1122/article/details/24978025 这个网上搜索,很多结果都是: AndroidManifest.xml android:configChanges="keyboardHidden|orientation" 但是,实际上很多手机上,这个根本不起作用.这是为什么呢? 因为,但多数人陈陈相因,文章直接转,都没有结果自己实践. 在低版本上,这个是可以起作用.在android 4.0 以上

Android横竖屏切换重载问题与小结

(转自:http://www.cnblogs.com/franksunny/p/3714442.html) (老样子,图片啥的详细文档,可以下载后观看 http://files.cnblogs.com/franksunny/635350788930000000.pdf) Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我们可以对手机的横竖屏切换进行关闭,操作界面如下 只需要点击下“屏幕旋转”按钮就可以关闭横竖屏切换了. 一.禁止AP

Android 横竖屏切换小结

转自:http://www.cnblogs.com/franksunny/p/3714442.html (老样子,图片啥的详细文档,可以下载后观看 http://files.cnblogs.com/franksunny/635350788930000000.pdf) Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我们可以对手机的横竖屏切换进行关闭,操作界面如下 只需要点击下“屏幕旋转”按钮就可以关闭横竖屏切换了. 一.禁止APP内

屏幕方向 横竖屏切换

屏幕方向的控制 屏幕方向是对Activity而言的,你可以在AndroidManifest.xml 文件中,通过activity的android:screenOrientation属性进行设定.在此配置的值会反映在Activity的getRequestedOrientation()方法的返回值中,与之对应的setRequestedOrientation()方法可以动态改变该属性的值. 另外, 还可以通过Configuration对象来取得Activity当前的显示方向 取值: unspecifi

Android实战技巧之二十四:横竖屏切换

这几年一直在做手机上和电视盒的App,几乎没有考虑过横竖屏切换的问题.电视盒好说,横屏不变,你要是给它设计个竖屏人家也没机会使:而手机上的应用就不好说了,有些界面你设计了横竖屏兼容可能是为了表示你的功能强大.但是按照惯例,或许也是设计师图省事,我们只是做一个方案.就像目前主流的App都只有竖屏一个模式,比如微信.京东和招商银行.我截了几张图表示一下. 但是像地图之类的应用,也许横屏会显示的更友好一些.请看腾讯地图的设计如下: 细心的你会发现,地图的横竖屏的样式几乎是一样的布局,调整起来还是比较容