一个项目一般会自己先定义项目是横屏还是竖屏但是也有可以横屏和竖屏之间切换的activty。

切换横竖屏的方法:

//判断当前屏幕方向

if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {

//切换竖屏

MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}else{

//切换横屏

MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

但是这样切换横竖屏会让activity重新加载。生命周期为:

onStop

onDestroy

onCreate

onStart

onResume

为了解决这样的问题在配置文件里加上

android:configChanges="orientation|keyboardHidden|screenSize"

就不会重新加载页面,只会进入到切换里面的生命周期中。

onConfigurationChanged

AndroidManifest.xml

android:configChanges="orientation|keyboardHidden|screenSize"

>

MainActivity.java

package com.kkrs.change;

import android.content.pm.ActivityInfo;

import android.content.res.Configuration;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

private Button change;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

change = (Button)findViewById(R.id.change);

Log.e("sys","onCreate");

}

@Override

protected void onStart() {

super.onStart();

Log.e("sys","onStart");

change.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Log.d("sys","被点击了");

//判断当前屏幕方向

if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {

//切换竖屏

MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}else{

//切换横屏

MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

}

});

}

//横竖屏切换

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

Log.e("sys","onConfigurationChanged");

}

@Override

protected void onStop() {

super.onStop();

Log.e("sys","onStop");

}

@Override

protected void onResume() {

super.onResume();

Log.e("sys","onResume");

}

@Override

protected void onDestroy() {

super.onDestroy();

Log.e("sys","onDestroy");

}

}

android webview 横竖屏_Android 切换横竖屏相关推荐

  1. Android WebView 加载https网页白屏,空白解决方案

    最近在做一个H5相关的需求,使用WebView加载第三方提供的https网页时显示白屏.但是调试打开Baidu和B站的https网址时就能正常打开.被这个问题困扰了半天. 合作方说是android手机 ...

  2. android 快速亮暗屏_Android设备闪屏怎么办?手机屏幕一会亮一会暗怎么办

    展开全部 闪屏问62616964757a686964616fe78988e69d8331333365646335题作为Android的一类常见问题,原因复杂多样.我们在这里整理一下如何分析闪屏问题,找 ...

  3. android webview权限申请_android - 在运行时向摄像机请求WebView权限 - 堆栈内存溢出...

    我想在Android WebView的PWA中使用QR码扫描仪. PWA在chrome浏览器上可以正常工作. 我确实有在"应用程序"->"应用程序名称"- ...

  4. Android WebView播放视频并支持全屏

    1. 前言 支持视频在线播放的网页随处可见,前端开发不需要做太多的工作就可以实现大多数需求.因为播放视频的具体功能是由浏览器核心在处理的.我以为Android的WebView应该是默认支持视频播放的, ...

  5. Android WebView播放视频(包括全屏播放)

    最近项目开发中用到了WebView播放视频的功能,总结了开发中犯过的错误,这些错误在开发是及容易遇到的,所以我这里总结了一下,希望大家看到后不要再犯类似的错误,尽可能提高开发效率: 这个Demo我这里 ...

  6. android 滑动取值_Android中滑屏实现

    前言:  虽然本文标题的有点标题党的感觉,但无论如何,通过这篇文章的学习以及你自己的实践认知,写个简单的滑屏小 Demo还是justso so的. 友情提示: 在继续往下面读之前,希望您对以下知识点有 ...

  7. ADB投屏_Android跨平台投屏软件(无需root)--scrcpy

    之前一直使用 Chrome 的一个插件「Vysor」进行 Android 手机的投屏,但是有码率限制,高码率需要付费,最近发现一个更好的继任者「scrcpy」,就来推荐一下. 本文将以 Mac 为例进 ...

  8. android webview权限申请_Android应用开发之android 6.0下webview的定位权限设置方法

    本文将带你了解Android应用开发android 6.0下webview的定位权限设置方法,希望本文对大家学Android有所帮助. 如下所示: WebView webView =   (WebVi ...

  9. android webview权限申请_Android WebView 获取定位权限的问题。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARS ...

最新文章

  1. java socket同步通信,javasocket客户端与服务端同步通信实例
  2. [JSOI2018]军训列队
  3. arpr选定的文件非rar压缩包_python解压压缩包
  4. Android App监听软键盘按键的三种方式
  5. java file构造方法_Java中FileOutputStream类的常用方法
  6. leetcode刷题:循环队列
  7. ASP.NET Core 中文文档 第四章 MVC(3.9)视图组件
  8. 拓端tecdat|在Amazon Web Services中使用R语言运行模拟
  9. reset.css下载
  10. Openstack学习笔记(十五)-Horizon源代码学习笔记(五)
  11. pygame 键盘操作
  12. 在java语言中所有类都是,【填空题】(10-1)Java语言中,( )是所有 类的祖先类。
  13. Oracle 行转列的坑
  14. 制作banner思路
  15. 第十九周学习周报(20180709-20180715)
  16. 截至20161210中小板股票代码和名称
  17. HBuilder 设置 主题 背景颜色
  18. 引力产生的原因是什么
  19. 审查元素html表格后缀,审查元素
  20. 计算机术语CAE是指,计算机应用基础 1

热门文章

  1. Python Crash Course读书笔记 - 第19章:USER ACCOUNTS
  2. 网络编程六-网络编程相关面试题汇总
  3. 这段c语言代码牛逼在哪?看得我一脸懵逼!
  4. M4A格式的ID3信息提取
  5. java LPT1_Java 未知异常 求解
  6. 流利阅读 2019.1.30 China’s Baidu pledges to improve search service after complaint
  7. 文献管理软件//Zotero的常用插件——Sci-hub/shortdoi批量下载、Zotfile重命名PDF文件及ZoteroQuickLook快速预览(二)
  8. 左联接、右联接、内联接、自然联接
  9. 英文面试二——why you are looking for a new job
  10. pdf插入图片到指定坐标位置 亲测可用