android手机屏幕方向改变的时可以使应用程序随之相应改变,这里就简单介绍屏幕操作中的一点小技巧。包括始终横(竖)屏、全屏、屏幕方向改变时销毁Activity的问题。
1、屏幕始终横屏或竖屏
对于一些游戏,可能我们希望屏幕始终横屏,这时只需要在AndroidManifest.xml中对Activity属性进行设置
android:screenOrientation="landscape"表示始终横屏,
android:screenOrientation="portrait"表示始终竖屏,下面是始终横屏的例子
<activity android:name="ViewStatusDetailActivity" android:screenOrientation="landscape" android:label="@string/app_name"> </activity>
android:screenOrientation的其他值见screenOrientation
2、Activity全屏
两种配置方式,
一种是在AndroidManifest.xml中对Activity属性进行设置,如下:
<activity android:name="ViewStatusDetailActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name"> </activity>
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"表示全屏该Activity
第二种是在代码中进行设置
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //无title requestWindowFeature(Window.FEATURE_NO_TITLE); //全屏 getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN); setContentView(R.layout.main); } }
其中requestWindowFeature和getWindow().setFlags必须一起使用,并且在setContentView前面
3、解决屏幕方向改变Activity销毁重建问题
当屏幕方向改变时,经常发现刚输入的文字被清空了、imageView图片不存在了,或是网络数据重新获取,其实是Activity会被销毁,重新调用OnCreate构建,如何防止这种情况呢,分为两步:
3.1 在AndroidManifest.xml中对Activity属性进行设置,如下:
<activity android:name="ViewStatusActivity" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:theme ="@style/update_status_style"> </activity>
android:configChanges="orientation|keyboardHidden"表示改变界面方向和隐藏键盘
具体android:configChanges见configChanges
3.2 重载onConfigurationChanged方法,此方法会在屏幕方向改变时被调用如下:
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // 加入横屏要处理的代码 } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 加入竖屏要处理的代码 } }
参考:http://ghostfromheaven.iteye.com/blog/967629
相关推荐
本篇文章将深入探讨如何控制Android Activity的屏幕方向,实现始终横屏、全屏显示以及如何处理屏幕方向改变时Activity的销毁与重建问题。 1. **屏幕始终横屏或竖屏** 在AndroidManifest.xml中,我们可以为特定的...
在Android操作系统中,开发者可以为应用设置特定的屏幕方向,让用户在特定场景下强制使用横屏或竖屏模式。这通常涉及到Android系统提供的布局管理、传感器管理和Activity配置更改等相关知识。下面将详细介绍如何实现...
在Android开发中,实现横屏全屏视频播放和日历控件的应用是常见的需求,尤其在多媒体应用或者日程管理类应用中。本教程将详细讲解如何实现这些功能。 一、Android横屏全屏视频播放 1. **VideoView与SurfaceView**...
3. **处理屏幕旋转**:如果希望应用在横屏和竖屏下都保持全屏,需要考虑屏幕旋转的情况。在AndroidManifest.xml中,可以为Activity指定`android:configChanges="orientation|screenSize"`,然后在Activity中处理屏幕...
实现在 listView中播放视频,利用 mediaPlayer + textureView 实现,支持横竖屏切换,切换操作是在同一个 activity 中进行的,类似腾讯新闻的视频播放, 实现思路可以看下我的博客: ...
Android设备支持横屏和竖屏两种模式,开发者需要确保应用在不同方向下都能正常运行。在Android Studio的模拟器中,你可以通过顶部菜单栏选择“旋转”图标或者使用快捷键`Ctrl + F12`来切换屏幕方向。此外,你还可以...
### Android基础教程(六)之-Android中两种设置全屏的方法 #### 一、通过代码设置全屏 在Android开发过程中,有时我们需要让应用程序或某个Activity以全屏模式显示,这样可以提供更好的用户体验或者满足某些特定...
在Android应用开发中,屏幕方向控制、启动页(Splash Screen)设计、全屏显示以及去除标题栏的操作是常见的需求,这些都可以提升用户体验并使应用更具专业性。下面将详细讲解如何实现这些功能。 1. **锁定横竖屏** ...
4. **考虑全屏模式**:如果需要在横屏时全屏显示视频,可以监听WebView的JavaScript事件,通过`WebChromeClient`的`onShowCustomView()`和`onHideCustomView()`方法来控制全屏和退出全屏。 以上就是如何在Android的...
屏幕方向控制是Android应用开发中一个常见且关键的部分,它直接影响到用户界面(UI)的展示效果,尤其在游戏、视频播放等应用场景下,横屏模式往往能提供更佳的用户体验。 ### 强制横屏的意义 强制横屏是指在应用...
默认情况下,Android会在屏幕方向改变时销毁并重新创建Activity。为了避免这种情况,我们可以在`AndroidManifest.xml`中指定Activity处理方向变化,而不让系统自动处理: ```xml <activity android:name=".Your...
在Android应用开发中,开发者有时需要对应用进行个性化定制,比如改变程序的名称、图标,以及设置应用支持的屏幕方向。这个压缩包文件提供了一个关于如何实现这些自定义功能的实例,适合初学者或者需要此类功能的...
在对应的Activity标签中,设置`android:screenOrientation="nosensor"`,这表示忽略设备的物理感应器,使得Activity不会随设备旋转而自动改变方向。同时,添加`android:configChanges="orientation|keyboardHidden|...
2. **代码动态设置**:在运行时改变Activity的屏幕方向: ```java setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // 横屏 或 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION...
在Android开发中,自定义相机预览界面的拉伸问题是一个常见的挑战,尤其是在处理不同设备和屏幕方向变化时。本文将深入探讨这个问题,并提供解决方案。 首先,理解问题的根本原因至关重要。当我们在Android应用中...
如果当前是横屏模式,可以调整VideoView的宽度和高度为屏幕尺寸,并设置其填充父布局以占据整个屏幕。反之,在竖屏模式下,恢复原来的布局参数。同时,注意调整Activity的屏幕方向,可以使用setRequestedOrientation...
在Android 10系统中,全面屏设备普遍引入了底部的小横条,即NavigationBar,作为系统导航栏。这个小横条包含返回、主页和多任务等操作,为用户提供了一种全新的交互方式。然而,对于开发者来说,这可能会对应用的...
值得注意的是,一旦设置了`android:screenOrientation`,Activity在屏幕方向变化时将不会被销毁并重建,这有助于保持用户的当前状态。然而,如果需要在横竖屏切换时更新界面布局或重新加载数据,可以重写`...