Android布局之横竖屏切换

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

在默认情况下当屏幕从竖评变到横屏时会触发 onConfigurationChanged 事件 在默认情况下会重新加载画面并显示和横屏一样的画面,这样会有2个问题,

  * 布局问题,在竖屏 显示的布局 到横屏中由于宽和高发生了变化所有多少都会影响到布局(除非你定制2套画面在然后加个判断在横屏时怎么显示,在竖屏时怎么显示),当然最简单的办法就是在 项目的 AndroidManifest.xml中找到你所指定的activity 中加上
  o 只竖屏显示的话(android:screenOrientation="portrait")
  o 只横屏显示的话(android:screenOrientation="landscape")
  * 画面重新载入问题:在默认情况下横竖 切换时会重新载入画面,导致一些不必要的资源浪费,更严重的是画面上保持的数据(特别是游戏方面)也都被重置了(当然你可以在重置前保存这些数据到数据库或者到文本文件中),要怎么避免在横竖 切换时重新载入画面,
  o 首先要在 AndroidManifest.xml中找到你所指定的activity 中加上android:configChanges="orientation|keyboardHidden"
  o 然后 在activity的逻辑处理中(代码部分)去重载onConfigurationChanged事件,具体代码参考一下:
  + @Override
  public void onConfigurationChanged(Configuration config) {
  super.onConfigurationChanged(config);
  }

在onConfigurationChanged中判断要显示的是横屏还是竖屏然后在setcontentview

还有种方法

在res文件夹下分别建立layout-port和layout-land,放竖屏和横屏的布局文件(同名的),会自动调用的。

以上就可以简单的控制你的app画面的显示方式并且在显示方式不变的情况下横竖 屏切换时不会重新加载画面,即优化的你的app同时用户体验也相应提高了。

 

 

原文地址:http://blog.youkuaiyun.com/muyu114/article/details/6334875

Android横竖屏切换:避免重建与布局适配实战 本文详细解析Android横竖屏切换导致Activity重建的核心问题,提供通过configChanges配置和onConfigurationChanged回调避免重建的实战方案。涵盖布局适配、数据保存与ViewModel使用等最佳实践,帮助开发者提升应用体验。 阅读详情

相关推荐

Android中横屏切换的布局和编程

通过创建不同的布局文件,并根据屏幕方向加载适当的布局,我们可以实现在横屏和竖屏之间无缝切换的用户界面。在res目录下的layout文件夹中,我们可以创建两个XML布局文件,分别用于竖屏和横屏显示。请注意,为了完全适应不同的屏幕方向,您可能还需要调整布局中其他视图元素的位置和大小。接下来,我们需要在AndroidManifest.xml文件中为活动指定不同的布局文件。现在,当设备从竖屏切换到横屏或从横屏切换到竖屏时,应用程序将自动加载相应的布局文件,以适应新的屏幕方向。,以便活动可以根据设备的方向自动旋转。

ByteWhizX的博客 496

js判断手机横竖屏

window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", hengshuping, false);function hengshuping() { if (window.orientation == 180 || window.orientation == 0) {

神百事的博客 1039

android: 横竖屏切换总结-布局改变和数据保存

引言         Activity在Configuration变化(比如设备横竖屏切换)时会重启Activity,即会执行onDestory()周期函数,然后onCreate(),重新创建Activity。这是因为这样可以让Activity动态适应Configuration,比如横屏时使用横屏的layout,drawable等resources,竖屏时使用竖屏的layout,drawable

村头那抠脚大叔的专栏 1866

Angular:系统主页样式设置——菜单栏子菜单横向展开显示

在页面上想在上方展示菜单栏,一级菜单点击后加粗高亮显示,鼠标浮动在菜单上展开二三级菜单,二级菜单加粗,三级菜单展开显示在对应的上级菜单右侧,效果如下图所示: 在页面上显示标题logo,菜单,右侧展示当前用户收到的新消息和登录信息,nav-header.component.html代码如下(仅作参考): <div class="top-menu-bar"> <div ...

灿灿大王搭建的黄金屋 3300

华硕三频万兆分布式路由组网实战:从AiMesh 2.0到全屋Wi-Fi 6覆盖

Mesh组网是解决大户型Wi-Fi覆盖难题的主流方案,其核心原理是通过多个节点构建网状网络,实现设备间的无缝漫游。在技术层面,Wi-Fi 6标准、三频设计(包括专属回程频段)和有线回程等技术,共同提升了网络的带宽、稳定性和抗干扰能力。这些技术的工程价值在于,能够为多设备并发、高带宽应用(如4K/8K流媒体、在线游戏、内网文件高速传输)提供可靠支撑。具体到应用场景,例如利用华硕AiMesh 2.0系统,配合三频万兆分布式路由器,可以实现智能的设备连接与负载均衡。通过合理规划节点位置、优先采用有线回程,并进行Q

weixin_34054866的博客 431

基于GPU的GEMM矩阵相乘运算优化

从上图中我们可以看到三种处理方法。第一种是将A和B矩阵分块,第二种方法是将C和B矩阵分块,第三种方法是将C和A矩阵分块。GEMM的子任务是GEPP或GEMP;最小粒度的任务是GEBP或GEPB或点乘。

weixin_55035144的博客 2154

安卓横竖屏切换改变布局文件1

安卓横竖屏切换改变布局文件1 开启安卓的自动旋转,在改变方向后,自动更改布局文件,其中activity会重启,数据不会保存,需要后面进行数据保存恢复 在AndroidManifest添加 android:configChanges="keyboardHidden|screenSize|orientation" 正常横竖屏切换的生命周期: onPause()->onSaveInstanceState()-> onStop()->onDestroy()->onCreate()->o

qq_43345810的博客 969

十三、FLUENT蒸发/冷凝模型实战:从沸腾模拟到常温蒸发的UDF进阶

本文深入探讨FLUENT蒸发/冷凝模型的应用实践,从沸腾模拟到常温蒸发的UDF进阶。通过分析相变模型的核心逻辑、关键陷阱及UDF动态饱和温度场的实现,帮助工程师准确模拟不同场景下的蒸发/冷凝过程。结合太阳能蒸馏器等工程案例,提供优化方案和常见问题解决方案,显著提升模拟精度与效率。

weixin_42548893的博客 571

android横竖屏切换和布局的问题

若android程序横竖屏切换时会弹出小键盘,可以在AndroidManifest.xml中设置activity的如下属性: anroid:WindowSoftInputMode="stateHidden"   在做android或者Ophone开发时,在默认情况下当屏幕从竖评变到横屏时会触发 onConfigurationChanged 事件 在默认情况下会重新加载画面并显示和横评一样的画

a457886115的专栏 3189

智能垃圾桶改造指南:树莓派+垃圾分类模型部署全记录(含数据集获取)

本文提供了一份详尽的智能垃圾桶DIY改造指南,核心是利用树莓派部署轻量化的YOLOv8垃圾分类模型。内容涵盖从数据集获取、模型训练与OpenVINO量化优化,到硬件组装、电路连接及软件集成的全流程,旨在帮助创客和爱好者以低成本实现一个能自动识别垃圾并分类的AIoT原型系统。

k6l7m8n9的博客 509

正负数据如何归一化_生信干货 | LC-MS代谢组学QI软件下机数据代谢物筛选和归一化如何做?...

上海·2019第一届多层组学前言技术发展华东区客户研讨会倒计时1天LC-MS非靶向代谢组学数据下机啦~~拿到一堆数据怎么办?不会高端代码,也不会自己写脚本,我怎么处理数据?​本期小编带来了LC-MS非靶向代谢组学下机数据处理实用干货,包括:下机定性结果表格的解析、代谢物筛选如何做?以及定量数据如何做归一化?实用干货,赶紧来抢~~话不多说,赶紧来学习吧~~非靶向LC-MS代谢组学的分析流程LC-MS...

weixin_36441329的博客 2983

android 横竖屏切换不同布局,Fragment 横竖屏切换时加载不同的布局

1、创建两个FragmentActivity 让它继承 Fragment ,这里最低版本为11package com.example.fragment;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import andr...

weixin_34614004的博客 981

遥感图像小白--2--图像分割

遥感图像分割基础入门

Mary的博客 4234

android home后回来布局为什么不变,Android横竖屏切换及其相应布局载入问题

第一。横竖屏切换连带载入多屏布局问题:假设要让软件在横竖屏之间切换。因为横竖屏的高宽会发生转换,有可能会要求不同的布局。能够通过下面两种方法来切换布局:1)在res文件夹下建立layout-land和layout-port文件夹,对应的layout文件名称不变,比方:layout-land是横屏的layout,layout-port是竖屏的layout。其它的不用管,横竖屏切换时程序调用Activ...

weixin_31497453的博客 479

C#跨平台制图新纪元:Mapsui,一库在手,地图我有

深入学习Mapsui的渲染机制,定制属于你的地图样式,无论是颜色、图标还是文字,都可以随心所欲。

java专栏 1455

《Zephyr OS 入门与实战》第15章:LoRaWAN 集成

【代码】《Zephyr OS 入门与实战》第15章:LoRaWAN 集成。

2301_79143213的博客 607

android右到左布局未能切换_Android横竖屏切换及其对应布局加载问题

第一,横竖屏切换连带横竖屏布局问题:如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同的布局。可以通过以下两种方法来切换布局:1)在res目录下建立layout-land和layout-port目录,相应的layout文件名不变,比如:layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管,横竖屏切换时程序调用Activity的...

weixin_33842051的博客 453

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Android横竖屏切换及其对应布局加载问题

Android横竖屏切换及其对应布局加载问题

文化园 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android横竖屏切换,列表中item布局复用错乱

1.横竖屏切换 Activity 在 AndroidManifest.xml 中申明 android:configChanges="screenSize|keyboardHidden|orientation" Activity 可以不重新创建,只执行 onConfigurationChanged(Configuration) 方法 2.横竖屏切换时如果两种情况布局不一样,在 layout-land 文件夹下复制竖屏下 Activity 布局进行修改,布局名字一定要相同,布局中控件的 id 也要相同,位置可

u012551120的博客 2552

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

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

Android快速实现横竖屏切换布局自动更改

1.在res资源目录下创建layout-land文件夹,如下图所示: 2.在layout-land目录中复制一个activity_main.xml(你想要横竖屏切换的布局); 3.修改layout-land中的布局文件,针对其横屏模式做修改,layout中布局与layout-land布局对比如图所示: layout中代码<LinearLayout xmlns:android="http:/

云上的博客 8220

Android横竖屏切换布局不正常的问题

起因:       在垂直方向启动应用程序时候,横竖屏切换正常,但是在横屏启动程序时,Layout载入正常,但是绘图部分不正常,即横屏显示的是竖屏的布局,切换后竖屏是横屏的布局。      解决:      应该是在程序加载布局时,先获取手机当前的状态,如果是横屏,则去加

ch_984326013的专栏 2902

Android 横竖屏切换,约束布局动态修改约束

首先横竖屏切换不重建Activity的问题: 修改manifest文件将不希望重建的Activity标签添加如下设置 android:configChanges="orientation|keyboardHidden|screenSize" 复制代码这样在屏幕旋转的时候Activity就不会重建了。 如果横竖屏布局相同的情况下,到此为止即可。 当然,一般情况下横竖屏的布局肯定要根据屏幕进行调整的...

weixin_33695450的博客 1514

android横竖屏切换布局闪退,android7.0 兼容问题:android:configChanges属性activity横竖屏切换时获取资源崩溃...

我已阅读并理解错误报告你做了什么?1.将PickerActivity 从app.mine AndroidManifest.xml 去除。2.将PickerActivity 注册到宿主app AndroidManifest.xml 中,并添加属性android:configChanges="orientation|keyboardHidden|screenSize"在app.mine模块Picker...

weixin_42433412的博客 339

android横竖屏切换布局闪退,Android 横竖屏切换以及横屏启动闪退问题

目前一般情况下 在横竖屏情况下 我们会遇到一些问题 例如横竖屏显示ui 比例问题 还有activity重启问题 今天说三个问题 一是横竖屏切换 二是 禁止屏幕旋转说一下屏幕切换时 的activity 生命周期onPause()—->onDestroy()—–>onCreate()先说第一个 横竖屏切换 一般的套路如下在manifast.xml 中 给当前activity配置 防止act...

weixin_42515089的博客 849
上一篇: android横竖屏总结
下一篇: 适配不同分辨率横屏竖屏
androidboy365
博客等级 码龄16年 35粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值