Android 横竖屏切换

  1. 在配置文件AndroidManifest.xml中配置权限
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"></uses-permission>
  1. 在配置文件AndroidManifest.xml中的activity接下内配置属性
    android:configChanges="keyboard|screenSize|orientation|layoutDirection"
    application接下配置如下:
<application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:configChanges="keyboard|screenSize|orientation|layoutDirection"
        >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
  1. 在相应的Activity中重写onConfigurationChanged方法,在此方法中获取屏幕的信息。
  public void HalfScreen(View view) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  }

  public void FullScreen(View view) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  }
@Override public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    Log.e(TAG, "onConfigurationChanged: ");
    //newConfig.orientation获得当前屏幕状态是横向或者竖向
    //Configuration.ORIENTATION_PORTRAIT 表示竖向
    //Configuration.ORIENTATION_LANDSCAPE 表示横屏
    if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
      Toast.makeText(MainActivity.this, "现在是竖屏", Toast.LENGTH_SHORT).show();
      setContentView(R.layout.activity_main);// 竖屏时显示的布局
    }
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
      Toast.makeText(MainActivity.this, "现在是横屏", Toast.LENGTH_SHORT).show();
      setContentView(R.layout.activity_main1);// 横屏时显示的布局
    }
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android开发中,大多APP可能根据实际情况直接将APP的界面方向设死了,或竖屏或横屏。但是,我们还是会遇到横...
    yoosir阅读 50,949评论 7 112
  • Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我...
    Lost_Robot阅读 7,011评论 1 5
  • 横竖屏切换生命周期方法:执行的顺序一致,且只执行一遍。不会出现网上说的横屏切到竖屏执行两遍的问题 一,默认情况 a...
    欠儿不登阅读 3,926评论 0 3
  • 放手让孩子做他自己,他会做的比我们预期的好。 想来此时孩子应该在整理东西吧?按日程安排今天下午他们...
    立春暖阳阅读 217评论 4 3
  • 第一天来这里,带着梦想!
    sglljl阅读 151评论 0 1

友情链接更多精彩内容