当前位置:首页 > uni-app

uniapp横屏app

2026-02-06 14:34:19uni-app

实现UniApp横屏应用的方法

配置manifest.json文件
在项目根目录的manifest.json文件中,找到"app-plus"节点,添加屏幕方向设置。示例代码:

"app-plus": {
    "screenOrientation": [
        "landscape-primary",
        "landscape-secondary"
    ]
}

landscape-primary表示默认横屏,landscape-secondary表示反向横屏。

页面级横屏设置
若需单个页面强制横屏,在页面的onLoad生命周期调用API:

onLoad() {
    plus.screen.lockOrientation("landscape-primary");
}

退出页面时恢复竖屏:

uniapp横屏app

onUnload() {
    plus.screen.lockOrientation("portrait-primary");
}

CSS适配横屏布局
通过媒体查询或动态计算窗口大小调整布局:

@media screen and (orientation: landscape) {
    .container {
        flex-direction: row;
    }
}

或使用JavaScript动态获取屏幕宽高:

const { windowWidth, windowHeight } = uni.getSystemInfoSync();

注意事项

uniapp横屏app

  • 部分组件(如<video>)可能自带横屏逻辑,需测试兼容性。
  • 微信小程序平台需单独在page.json中配置"pageOrientation": "auto"
  • Android原生端可能需在AndroidManifest.xml中设置screenOrientation属性。

多平台兼容性处理

微信小程序
在对应页面的page.json中配置:

{
    "pageOrientation": "landscape"
}

H5端适配
通过CSS媒体查询或监听orientationchange事件:

window.addEventListener("orientationchange", () => {
    console.log(window.orientation);
});

原生端补充配置

  • Android:修改nativeplugins/AndroidManifest.xml,在<activity>标签内添加:
      android:screenOrientation="sensorLandscape"
  • iOS:在Xcode中勾选Landscape LeftLandscape Right方向。

标签: uniapp横屏
分享给朋友:

相关文章

uniapp开发

uniapp开发

uniapp开发简介 uniapp是一款基于Vue.js的跨平台开发框架,支持一次开发,多端部署。开发者可以通过编写一套代码,发布到iOS、Android、Web以及各种小程序平台(如微信、支付宝、百…

uniapp安装axios

uniapp安装axios

安装axios 在uniapp项目中安装axios需要确保项目支持node_modules管理。通过npm或yarn安装axios: npm install axios # 或 yarn add…

uniapp组件

uniapp组件

uniapp组件基础概念 uniapp的组件系统基于Vue.js,支持跨平台开发(H5、小程序、App等)。组件分为内置基础组件(如<view>、<button>)和自定义组件…

uniapp前端项目

uniapp前端项目

Uniapp 前端项目开发指南 Uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App 等)。以下是关于 Uniapp 前端项目的关键信息:…

uniapp 如何封装request请求

uniapp 如何封装request请求

封装 request 请求的核心思路 在 UniApp 中封装请求通常基于 uni.request,通过统一处理 URL、参数、header 和拦截逻辑提升代码复用性。以下是一个完整封装方案: 创…

任务 uniapp

任务 uniapp

uniapp 简介 Uniapp 是一款基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,开发者可以通过一套代码适配多个…