Android培训
美国上市Android培训机构

400-111-8989

热门课程

如何处理Android 配置Activity横屏、竖屏、全屏?

  • 发布:Android开发中文站
  • 来源:Android开发中文站
  • 时间:2018-06-07 18:34

如何处理Android 配置Activity横屏、竖屏、全屏

你喜欢让你的android手机跟随你的节奏随意横屏、竖屏、全屏吗?在程序中是如何实现的呢?今天我们的android培训就来解释一下这个问题:

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方法,此方法会在屏幕方向改变时被调用如下:

@Overridepublic void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

if (this.getResources().getConfiguration().orientation ==

Configuration.ORIENTATION_LANDSCAPE) {

// 加入横屏要处理的代码

} else if (this.getResources().getConfiguration().orientation ==

Configuration.ORIENTATION_PORTRAIT) {

// 加入竖屏要处理的代码

}

}

恭喜你阅读完了本文,现在知道如何处理Android 配置Activity横屏、竖屏、全屏了吗?还有android相关的疑问吗?欢迎你来达内android培训机构进行咨询吧。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

上一篇:android培训之如何实现彻底组件化?
下一篇:android培训费用是多少?android培训需要多长时间?

如何处理Android 配置Activity横屏、竖屏、全屏?

android培训之如何实现彻底组件化?

在Android中如何实现自动回复短信、挂电话的功能?

android也有刘海了,那Android刘海屏适配方案是什么?

选择城市和中心
贵州省

广西省

海南省