安卓源码系统桌面横屏显示(安卓开发横屏怎么设置)
本文目录一览:
如何设置android界面横屏显示
全屏
在Activity安卓源码系统桌面横屏显示的onCreate方法中的setContentView(myview)调用之前添加下面代码
requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏
横屏
按照下面代码示例修改Activity的onResume方法
@Override
protected void onResume() {
/**
* 设置为横屏
*/
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
super.onResume();
}
或者在配置文件中对Activity节点添加android:screenOrientation属性(landscape是横向,portrait是纵向)
android:launchMode="singleTask" android:screenOrientation="portrait"
要设置成竖屏设置成 SCREEN_ORIENTATION_PORTRAIT
// ----------------
常亮
view.setKeepScreenOn(true)
不加任何旋转屏幕的处理代码的时候,旋转屏幕将会导致系统把当前activity关闭,重新打开。
如果只是简单的界面调整,安卓源码系统桌面横屏显示我们可以阻止此问题的发生,屏幕旋转而自己调整屏幕的元素重构。
首先安卓源码系统桌面横屏显示我们需要修改AndroidManifest.xml文件:
activity android:name=".Magazine"
/activity
//修改为:
activity android:name=".Magazine"
android:configChanges="orientation|keyboard"
/activity
这样是让程序能够响应旋转屏幕的事件。
然后重写onConfigurationChanged方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
Log.v(" == onConfigurationChanged");
processLayout();
}
//----------------------------
在我们用Android开发过程中,会碰到Activity在切换到后台或布局从横屏LANDSCAPE切换到PORTRAIT,会重新切换Activity会触发一次onCreate方法。
在Android开发中这种情况视可以避免的,我们可以在androidmanifest.xml中的activit元素加入这个属性 android:configChanges="orientation|keyboardHidden" 就能有效避免oncreat方法的重复加载,
androidmanifest.xml内容如下:红色字体为添加部分
?xml version="1.0" encoding="utf-8"?
manifest xmlns:android=""
package="com.demo"
android:versionCode="1"
android:versionName="1.0"
application android:icon="@drawable/icon" android:label="@string/app_name"
activity android:name=".DemoGPS"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
uses-library android:name="com.google.android.maps" /
/application
uses-sdk android:minSdkVersion="7" /
uses-permission android:name="android.permission.INTERNET"/uses-permission
uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/uses-permission
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/uses-permission
/manifest
同时在Activity的Java文件中重载onConfigurationChanged(Configuration newConfig)这个方法,这样就不会在布局切换或窗口切换时重载等方法。代码如下:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
//land
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
//port
}
}
//------------------------------------------------------
关于Android中Activity的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:
android:screenOrientation=["unspecified" | "user" | "behind" |
"landscape" | "portrait" |
"sensor" | "nonsensor"]
screenOrientation 用来指定Activity的在设备上显示的方向,每个值代表如下含义:
"unspecified" 默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
"landscape" 横屏显示(宽比高要长)
"portrait" 竖屏显示(高比宽要长)
"user" 用户当前首选的方向
"behind" 和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
"sensor" 有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
"nosensor" 忽略物理感应器,这样就不会随着用户旋转设备而更改了 ( "unspecified"设置除外 )。
更多安卓例子请去360手机助手下载安卓学习手册,里面有横竖排例子,源码,例子随便看。
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度输出
安卓手机怎样换为横屏?
方法一:在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,这是建立了一个横屏的布局文