当前位置:首页 > > 充电吧
[导读]全屏在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码requestWindowFeature(Window.FEATURE_NO_TITLE

全屏

在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"
  android:configChanges="orientation|keyboard">

这样是让程序能够响应旋转屏幕的事件。
然后重写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方法的重复加载,

  

同时在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"设置除外 )。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

orCAD原理图库添加封装属性(调用库元件便于导BOM)

关键字: 元件库 属性

周六,谷歌在 Android Developers 网站发布文章,呼吁 Android 开发者为转型至 5G 时代做好准备,文章中提及了 5G 将来带的四大体验上的增强。其中主要包括更好的利用 5G 网速、增强现实应用、...

关键字: 5G android开发 谷歌

Java是具有多种用例的完整开发语言,包括Web开发,PC程序开发,嵌入式开发等。

关键字: activity Android java ui

近日,暴雪官方发布蓝贴,公布了即将到来的PVP热修的内容。其中影响最大的改动恐怕就是对于渠道全能的削弱了,一起来了解下吧。 以下为蓝贴内容: 我们正在努力进行一系列PvP调整更改,这些更改将会在下周

关键字: 属性 暴雪 魔兽世界

首先构建出了一个Intent ,传人FirstActivity.this 作为上下文,传入SecondActivity.class 作为目标活动,这样我们的“意图”就非常明显了,即在FirstActivity 这个活动的...

关键字: activity Android intent

这是官网的Activity生命周期结构图,从这个图中可以看出Activity的生命周期函数挺多的,其实他的生命周期和以往我们看到的其他组件的生命周期一样,都是从创建到销毁的过程,只不过之间多加了几个生

关键字: activity Android

android转场动画windowAnimation和ActivityAnimation的区别显而易见,window与Activity本身从名字上就知道不同,但对于项目开发中 windowAnimat

关键字: activity Android 转场动画

包括下载地址与安装注意事项细节可以参照度娘谷哥检索的各种攻略。包括JDK、IDE、Android SDK、Android插件、ADT等。包括Eclipse、Netbeans、Android Studi

关键字: android开发 jdk 开发环境

        做Android开发的人都用过Selector,可以方便的实现View在不同状态下的背景。不过,相信大部分开发者遇到过和我一样的问题,本文会从源码角度,解释这些问题。        首

关键字: Android android开发 selector

起因:有一个需求,竖屏Activity A跳到横屏Activity B,B操作结束后finish然后返回A,A上面重建了,之前的操作比如listview添加了item都没有了测试条件:红米Note2一

关键字: activity Android 横竖屏切换
关闭