Android横竖屏处理的三种方式

Avalonia框架固定页面位置和判断横屏竖屏 Avalonia 页面位置 判断屏幕 横屏 竖屏 阅读详情

      Android 手机应用运行的时候,一般用户都是竖屏,突然将手机横屏的时候,那么程序会出现异常,因为在Android中每次屏幕切换都会,重启当前的Activiy,这种情况下,异常的处理方式有三种:

     1.锁定横竖屏

             在AndroidManifest.xml文件中,对Activity定义屏幕方向属性只能为横屏或竖屏。

             将屏幕固定为横屏:

            <activity android:screenOrientation="portrait">

             将屏幕固定为竖屏:

            <activity android:screenOrientation="landscape">


          因为一个Android应用中会有多个Activity,那么可以根据需要去配置每个activity的显示方式,如果不设置,默认可以横竖屏切换,或在源代码中横竖屏。

          设置竖屏:

          SetRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);          

          设置横屏:

          SetRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

   2.源代码中处理横竖屏事件

         在AndroidManifest.xml文件中对Activity注册android:configChanges属性,然后在对应的Activity源代码中重写onConfigurationChanged()函数即可     

         @Override
         public void onConfigurationChanged(Configuration newConfig){
              super.onConfigurationChanged(newConfig);
              if(this.getResources().getConfiguration().oritention==Configuration.ORITENTION.LANDSCAPE){
                  Log.e("Himi","当前屏幕切换成横屏显示模示");
              } else if (this.getResources().getConfiguration().oritention==Configuration.ORITENTION.PORTRAIT){
                  Log.e("Himi","当前屏幕切换成竖屏显示模示");
              } 
        }
       使用此方式在切换横竖屏的时候,Android就不会重启当前Activity了。

   3. 重写onSaveInstanceState()  与 onRestoreInstanceState()函数       

      @Override
      public void onSaveInstanceState(Bundle outState){
        super.onSaveInstanceState(outState);
        Log.e("Himi","ONSAVE");
      }
      @Override
      public void onRestoreInstanceState(Bundle outState){
        super.onRestoreInstanceState(outState);
        Log.e("Himi","RESTORE");
      }

        在屏幕进行横竖屏切换的时候,会响应onSaveInstanceState()函数,然后重启进入当前Activity,最后再执行onRestoreInstanceState函数,通过切换这两个函数进行屏幕横竖屏的处理。

如觉得文章不错,可扫描以下二维码打赏,以激励上传更好的开源代码:

         

          


Avalonia学习(二十四)-系统界面 目前项目式练习,界面内容偏多,所以不给大家贴代码了,可以留言交流。此次为大家展示的是物联项目的例子,仅仅是学习,我把一些重点列举一下。以前的样例主要是通过实现控件来完成的,前面已经有窗口标题的例子,此次是直接绘制的。利用该控件实现页面切换,不是使用tabcontrol.通过样式实现菜单切换。这里的柱状图是绘制的,展示不一样的实现,没有使用图标控件。用mqttnet实现物联协议通信,只是组件使用。与以前单例不一样,新的一种环形实现。和前面的例子一样,cef控件使用。和前面例子一样,使用控件实现。 阅读详情

相关推荐

Android零基础入门第76节:Activity数据保存和横竖屏切换

Activity在实际开发中常常都会存在数据保存和横竖屏切换问题,应该如何解决呢?

鑫鱻的博客 1845

android 主动切换横竖屏代码

在开发过程中,有时我们可能需要根据不同的场景切换这两种模式。例如,在观看视频时,一般会将屏幕切换为横屏,而在阅读文章时则会保持竖屏。在 Android 中,可以通过设置 Activity 的属性来实现屏幕方向的切换。横屏(Landscape):适用于观看视频、游戏等需要更多水平空间的应用。下面是一个简单的 Activity 示例,通过按钮点击来实现横竖屏的切换。竖屏(Portrait):适用于大多数手机应用,默认状态。二、主动切换屏幕方向的实现。一、屏幕方向的基本概念。

qq_30016273的博客 721

android用布局切换横竖屏,Android 横竖屏切换加载不同的布局

横屏竖屏在配置文件中的设置,之前已经说过。那么现在主要是说,切换之后由于屏幕宽高尺寸的改变,因此需要重新设置一个布局文件以适应现在的新的尺寸。缺省状态下,Activity每次横竖屏切换(包括用setRequestedOrientation调用)都会重新调用一轮onPause-> onStop-> onDestory-> onCreate->onStart->onRes...

weixin_29174141的博客 3037

android横竖屏切换问题

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。同时我还搜集整理2020年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。横竖屏分别对应layout的还不知道该怎么解决。

2401_84009054的博客 1533

Android 4.0 横竖屏切换注意事项

==Android 2.3以前的横竖屏切换== 在Android 2.3平台上,我们可以需要设置界面的横竖屏显示时,可以在AndroidManifest.xml中,对Activity的属性添加以下代码: android:configChanges="orientation" 同时在Activity中覆写onConfigurationChanged方法 @Override p

Keep Awake,Keep Studying,Keep Moving,Keep... 7146

解决Android横竖屏切换数据丢失问题的方法

Android横竖屏切换时,当前的Activity会被销毁,然后Activity上面的数据将会全部丢失。 如Listview上面每个item的checkbox,横竖屏切换时,复选框就丢失所有选中信息。 解决方案1:在Androidmanifest.xml的activity标签中加入android:configChanges="orientation|keyboardHidden" <a...

qq_38922435的博客 1576

Avalonia跨平台入门第一篇

作为一枚屌丝程序员来说最大的爱好就是撸代码,有时候根本停不下来(沉迷工作,无法自拔);因为一直都是WPF开发,后面也摸索了一下Xamarin的东西;这不又看到其他人又在搞什么跨平台;我也是...

dotNET跨平台 9102

android 横竖屏切换的处理

android 横竖屏切换的处理,效果更好些

android区别加载横竖,安卓横竖屏切换的几种情况

横竖屏切换在APP中的应用非常常见。有的界面只能在横屏或竖屏显示,有的界面可以横竖屏自适应,有的横竖屏使用不同的界面布局。我们来逐渐总结和比较一下这几种方式。1. 最简单的一种:横竖屏自适应就是,同一种布局,但是在横竖屏切换时自动调整长宽。不必新写布局。操作简单。不过有的时候可能无法满足美观和使用需要。但是,这种方法会保存界面数据,不会重刷一次该Activty的生命周期。用法非常简单,直接在And...

weixin_29786123的博客 489

双翌视觉系统配合机械手大视野定位案例(单目标带角度抓取)

一、定位原理概述 1.系统构架 视觉定位系统采用正向打光方式,光源在机械手上方,CCD从上往下拍摄,进行图像分析定位。相机将计算出的像素坐标转换为机械手的物理坐标,视觉软件与机械手进行网口通讯,将视野内物料的物理坐标发送给机械手,机械手抓取物料放在指定工位。 2.相机标定概述 系统采用宫格标定确定像素坐标和物理坐标一一对应关系,同时利用3点或者多点旋转标定求出旋转中心 系统采用宫格标定,自定义行列数和间距及旋转角度,通过机械手发送的当...

weixin_51554164的博客 2171

sqoop抽取mysql的数据到hive表里面,字段内容被自动截取,导致字段不全的问题解决

今天央视重新转播NBA,写篇博客纪念一下这个重要的日子,湖人的表现就呵呵了!!!! 强行转到博客的主题来 mysql的字段属性:该字段能存下的值比如:“山东” `province` varchar(3) NOT NULL COMMENT '省份' 用sqoop sqoop import --connect "jdbc:mysql://xxxxxx:3306/xxxxxx?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull..

放肆桀骜 962

Android开发

题目在Android studio上新建一个project,在一个Activity用三种显示Intent打开另一个Activity。并练习采用隐示Intent方式打开一个Activity设计一个APP,能实现一个简单的电话拨号,短信发送,照相机调用,地图打开的功能新建一个activity,测试它在启动其他activity,横竖屏变化时的生命周期新建一个Activity,具有以下功能:1)可以从另一个Activity中,获得的不同的电话号码,实现电话拨打。2)可以打开相机拍照后,显示在图片框3)可以发送短信4

qq_45931327的博客 277

QT西游回合制源码+java后台管理系统

这是一套回合制游戏源码,很适合学习。

renkai721的专栏 2536

Android的四大组件之三--Activity(3)----->横竖屏切换不销毁activity,全屏显示

1.横竖屏切换不销毁activity 在编写android应用的时候,碰到了这样的一个问题:屏幕由竖屏转换为横屏,此时应用的Activity就会被销毁而重新创建,这个让人比较郁闷。 如何才能让这个activity不被销毁呢??? 方法如下: (1)在Mainifest.xml的Activity元素中加入android:configChanges="orientation|keyboar...

kanwoerzi 108

VMware Horizon 8 2111 部署系列(十一)准备RDS主机

RDS (Remote Desktop Service),即远程桌面服务。我们可以使用 Microsoft 远程桌面服务 (RDS) 提供 RDS 主机上的桌面会话并将应用程序传送给多个用户。

白昼的技术专栏 3468

【数据集介绍】MVTec 3D AD数据集介绍

MVTec AD(MVTec Anomaly Detection)数据集是用于异常检测的计算机视觉数据集。该数据集包含来自工业生产中不同材料和产品的图像,包括玻璃、塑料、纺织品等。每个类别都包含正常样本和异常样本。这些异常样本包括各种常见的生产缺陷,如划痕、裂纹、凹陷等。MVTec AD数据集旨在帮助研究人员和从业者开发和评估用于检测工业制造中物体缺陷的算法和系统。

原来也有北瓜 7746

android 横竖屏幕切换,Android 横竖屏切换总结

一.Android切换横竖屏应用的横竖屏设置应用的横竖屏设置主要是通过Activity的screenOrientation属性控制,属性值如下:主要有以下两种方式设置screenOrientation属性值静态设置,即在Mainfest文件中配置screenOrientation属性动态设置,即调用Activity的setRequestedOrientation(@ActivityInfo.Scr...

weixin_42340136的博客 4965

基于YOLOv8的铁路轨道异物检测系统设计与实现

目标检测是计算机视觉领域的核心任务之一,旨在识别图像中特定目标的位置和类别。传统方法主要依赖手工特征(如HOG、SIFT等)和分类器(如SVM),而深度学习方法通过卷积神经网络自动学习特征表示,显著提升了检测性能。YOLO(You Only Look Once)系列算法作为单阶段目标检测的代表,以其高效的检测速度著称。YOLOv8是Ultralytics公司于2023年发布的最新版本,在精度和速度上都有进一步提升。

YOLO 574

android sensor 横竖屏 方向,Android 横竖屏处理

Android 手机一般都支持横竖屏旋转,系统也会提供一个设置,控制是否可以旋转。界面旋转方向的决定因素决定一个界面显示为横屏/竖屏的因素有几个:系统的设置项,一般可以设置为只允许横竖屏或可旋转切换。设备的物理传感器感应到的设备方向。不同 App 里的代码对横竖屏的设置。需要注意的一点是,这三个因素没有固定的优先级。所以即使系统的设置项中设置了固定为竖屏,App 里的代码也可以将界面设置为横屏,当...

weixin_39720510的博客 1009

S速度曲线轨迹规划(普通变频位置闭环控制算法详细介绍+SCL代码)

位置控制用PD控制器,详细内容介绍请查看下面博客文章:PD控制器算法详细解读_RXXW_Dor的博客-优快云博客鉴于积分和微分在工程上的大量应用,这篇博文主要讲解工程上的如何求导f'(x),导数反映的是函数(信号)的变化率,牛顿也是在研究运动的时候提出了微积分的概念,我们知道反映位移变化的快慢程度是速度v(t),反映速度变化快慢程度的物理量是加速度(速度的变化率)。

RXXW_Dor的博客 3885

赛豆科技 AIVA 汽车智能体架构演进面试题与答案

摘要 赛豆科技AIVA汽车智能体架构从座舱AI演进到整车智能体,最终实现自进化的超级智能体。其核心是"先有AI再有车"的理念,将AI作为产品主轴而非附加功能。架构设计采用端-边-云协同,确保低延迟响应;整车智能体通过Planner、Tool Registry等关键组件实现自主决策;自进化机制结合车端个性化学习和云端群体学习,并设置多重安全验证。多域协作采用分层架构,关键安全功能仍由确定性逻辑控制。该架构实现了从被动响应到主动服务的范式转变,使车辆能够持续进化。

AI天才研究院 121

Android应用横竖屏切换处理

序 上周在开发时,发现一种更好的方式处理横竖屏切换,节省了不少代码。之前在切换横竖屏,同时都是写了两个Actiity页面,两个页面分别对应不同的布局,通过跳转实现切换。后来发现在一个Activity页面就可以完成这些工作,布局文件名字相同但放在不同的layout目录(layout-land和layout-port)。 正文 控制页面的横竖屏显示方式 一种方法是在Androi

好书推荐 1162

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android 横竖屏切换的处理方式

/** * 横竖屏切换处理 * * @param newConfig */ @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (mLayoutManager != null &amp;&amp...

Mydtudysy的博客 410

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android横竖屏切换的几种方式

最近在搞一个嵌入式的阉割版的Android横屏切换竖屏的问题,因为阉割严重所以在PhoneWindowManager里做处理的方案不适用,网上查资料查到了个系统属性ro.sf.hwrotation,初始值为0,只要设置为90就可以了。 下面转载了一位小哥收集的文章,横屏切换竖屏的几种方案都有,原文地址:https://www.cnblogs.com/liulaolaiu/p/11744540.html android如何改变系统默认横竖屏方向 http://blog.csdn.ne...

Peak的博客 2448

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: Andriod的七大生命周期
下一篇: 如何解决AndroidStudio找不到连接设备的问题
CEJ-盐井
博客等级 码龄17年 10粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值