b2c信息网

您现在的位置是:首页 > 前天新闻 > 正文

前天新闻

安卓源码系统桌面横屏显示(安卓横屏设置代码)

hacker2022-06-08 01:19:24前天新闻102
本文目录一览:1、如何设置android界面横屏显示

本文目录一览:

如何设置android界面横屏显示

android 的api中提供了可以在代码中设置横竖屏的,setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } 也可以在主配置文件里面设置某一个activity的横竖屏

android怎么设置横竖屏切换

Android横竖屏要解决的问题应该就两个:

一.布局问题

二.重新载入问题

1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:

"unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.

"landscape":横屏显示(宽比高要长)

"portrait":竖屏显示(高比宽要长)

"user":用户当前首选的方向

"behind":和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)

"sensor":有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。

"nosensor":忽略物理感应器,这样就不会随着用户旋转设备而更改了("unspecified"设置除外)。

也可以在Java代码中通过setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)来设置。

如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同的布局。可以通过以下方法来切换布局:

1)在res目录下建立layout-land和layout-port目录,相应的layout文件不变,比如main.xml。layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管,模拟器会自动寻找。

2)通过 this.getResources().getConfiguration().orientation来判断当前是横屏还是竖屏然后来加载相应的 xml布局文件。因为当屏幕变为横屏的时候,系统会重新呼叫当前Activity的onCreate方法,你可以把以下方法放在你的onCreate中来检查当前的方向,然后可以让你的setContentView来载入不同的layout xml.

1 if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){

2 Log.i("info","landscape"); // 横屏

3 }

4 else if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT) {

5 Log.i("info","portrait"); // 竖屏

6 }

在onConfigurationChanged()方法中也可以检测拥有硬键盘的键盘状态

1 //检测实体键盘的状态:推出或者合上

2 if (newConfig.hardKeyboardHidden ==Configuration.HARDKEYBOARDHIDDEN_NO){

3 //实体键盘处于推出状态,在此处添加额外的处理代码

4 }

5 else if(newConfig.hardKeyboardHidden ==Configuration.HARDKEYBOARDHIDDEN_YES){

6 //实体键盘处于合上状态,在此处添加额外的处理代码

7 }

2.重新载入问题。如果不需要从新载入,可以在AndroidManifest.xml中加入配置 android:configChanges="orientation|keyboardHidden",配置 android:configChanges的作用就是如文档所说的:Specify one or more configuration changesthat the activity will handle itself. If not specified, the activity will berestarted if any of these configuration changes happen in the system。这样在程序中Activity就不会重复的调用onCreate()甚至不会调用onPause、onResume.只会调用一个 onConfigurationChanged(Configuration newConfig)。如果需要重新载入,则不需要做任何修改。不过如果需要在重新载入过程中保存之前的操作内容或数据,则需要保存之前的数据。然后在 activity的onCreate()中取出来。当然,如此就不能设置android:configChanges()了,否则就不会调用 onCreate()方法。

如果要彻底禁止翻转,可以设置android:screenOrientation的属性为nosensor,如此就可以忽略重力感应带来的麻烦了。不过在模拟器上不管用,在真机上是正确的。android:screenOrientation="portrait"

则无论手机如何变动,拥有这个属性的activity都将是竖屏显示。

android:screenOrientation="landscape",为横屏显示。

这里提一个小知识,Android模拟器中,快捷键"Ctrl+F11/F12"可以实现转屏

安卓手机怎样换为横屏?

方法一:在AndroidManifest.xml中配置

假设不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性。他有下面几个参数:

"unspecified":默认值 由系统来推断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.

"landscape":横屏显示(宽比高要长)

"portrait":竖屏显示(高比宽要长)

"user":用户当前首选的方向

"behind":和该Activity以下的那个Activity的方向一致(在Activity堆栈中的)

"sensor":有物理的感应器来决定。假设用户旋转设备这屏幕会横竖屏切换。

"nosensor":忽略物理感应器。这样就不会随着用户旋转设备而更改了("unspecified"设置除外)。

方法二:在java代码中设置

设置横屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏

设置竖屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏

由于横屏有两个方向的横法,而这个设置横屏的语句,假设不是默认的横屏方向,会把已经横屏的屏幕旋转180°。

所以能够先推断是否已经为横屏了。假设不是再旋转,不会让用户认为转的莫名其妙啦!代码例如以下:

if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT){

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

三:

1.直接新建两个布局文件,剩下的就什么也不用管了:右键单击‘res’文件夹 - 'new' - 'Android resource directory'; 将 Directory name 填写 layout-land,Resource type 选择layout,这是建立了一个横屏的布局文

如何将安卓系统一直处于横屏状态?求解

进入系统设置,点击显示,当手机(pad)是横屏状态时将自动旋转屏幕后面的勾去掉,然后就ok了,因为不清楚是平板还是手机,不同型号也会有差异,所以可能会不太准确。

GPHONE:android如何实现横屏

当屏幕变为横屏的时候,系统会重新呼叫当前Activity的OnCreate方法,你可以把以下方法放在你的OnCreate中来检查当前的方向,然后可以让你的SetContentView来载入不同的Layout xml.

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {

Log.i("info", "landscape");

}

else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

Log.i("info", "portrait");

}

关于屏幕切换的时候

首先需要在androidmanifest.xml中加入配置

android:configChanges="orientation|keyboardHidden|navigation

这样在程序中. Activity就不会重复的调用onCreate()

甚至不会调用onPause.onResume.

只会调用一个onConfigurationChanged(Configuration newConfig)

这是在XML加入配置选项的前提下.

如果在就加入选项的前提下.如上所说. Activity会重新激活onCreate方法

根据你自己的需求来选择配置改变时的处理机制这样比较好一点。

android开机的时候发现logo是竖屏的,请问要如何修改源码才能让logo成横屏显示

Android启动默认是横屏或者竖屏

我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底层应该给上层porting出接口。像这种系统性的接口一般在build.prop里。

找到一个相关度比较大的属性ro.sf.hwrotation=270,和旋转有关的,联想到0,90,180,270.试试吧,将其改为ro.sf.hwrotation=0,测试了一下,OK,满足客户要求了,就早点下班了。

/device/samsung/smdk4x12/system.prop (ro.sf.hwrotation)

今天来了搜了一下相关的内容,还是发现了不少知识

1. 可以在init.rc里指定系统是横屏还是竖屏

[plain] view plaincopy

setprop ro.sf.hwrotation 0 指定默认输出不旋转(我们默认输出时竖屏)

#setprop ro.sf.hwrotation 270 指定旋转270度输出

发表评论

评论列表

  • 竹祭征棹(2022-06-08 01:25:57)回复取消回复

    ).getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT){setRequestedOrien

  • 竹祭任谁(2022-06-08 02:46:23)回复取消回复

    屏android怎么设置横竖屏切换Android横竖屏要解决的问题应该就两个:一.布局问题二.重新载入问题1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrie

  • 孤央宠臣(2022-06-08 06:48:09)回复取消回复

    一下相关的内容,还是发现了不少知识1. 可以在init.rc里指定系统是横屏还是竖屏[plain] view plaincopysetprop ro.sf.hwrotatio

  • 闹旅徒掠(2022-06-08 09:40:42)回复取消回复

    one or more configuration changesthat the activity will handle itself. If not specified, the activity will berestar

  • 嘻友里赴(2022-06-08 11:14:15)回复取消回复

    态1 //检测实体键盘的状态:推出或者合上 2 if (newConfig.hardKeyboardHidden ==Configurat