Android 在同一个Activity使用不同layout
来源:互联网 发布:odysseusota4 windows 编辑:程序博客网 时间:2024/05/22 00:41
需求如下:
Activity A屏幕纵向,Activity B横向,需要让用户在A跳转至B,在B输入资料后把输入结果返回A。
坑1:在B获取成功后返回A,屏幕会有短暂黑屏
坑2:在A设置startActivityForResult跳转至B,同时重写onResult接收B返回内容,B代码调用setResult,需要A的启动模式设置为SingleTask或SingleInstance,设置后发现在A调用startActivityForResult会立即回调onResult
换了个解决问题思路:一个Activity加载layoutA和layoutB
但需要解决:
1、android屏幕纵横屏切换,Activity的onDestroy和onCreate方法会被调用,需要避免Activity在转屏时销毁
2、动态更改屏幕方向
解决问题1:
修改AndroidManifest.xml,在activity属性中加入:
android:configChanges=”orientation|keyboardHidden”
android:configChanges,这个方法主要是负责列出清单,当清单上用户指定的设置改变时,Activity会自己处理这些变化。
orientation,屏幕界面旋转(可能是用户手动旋转的),【注意:如果你的开发API等级等于或高于13,你还需要设置screenSize,因为screenSize会在屏幕旋转时改变】
keyboardHidden,键盘辅助功能改变
解决问题2:
a)在AndroidManifest.xml文件里设置默认方向,不然程序不能正常工作。
android:screenOrientation="portrait"
b)
参考代码:
public void onClick(View v) {
//如果是竖排,则改为横排
if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
//如果是横排,则改为竖排
else if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
- Android 在同一个Activity使用不同layout
- 在不同cpp中使用同一个变量
- Android setContentView 实现同一个activity下不同view的切换
- Android setContentView 实现同一个activity下不同view的切换
- Android setContentView 实现同一个activity下不同view的切换
- 同一个android应用下面不同包下面activity 互相调用
- Android学习之如何在同一个Activity使用多个ListView
- 同一个应用程序的不同Activity可以运行在不同的进程中么?
- 如何在不同的电脑上使用同一个git账号
- 同一个activity中不同fragment的跳转
- 如何将同一个APP中的不同activity在Recent(最近任务)中显示?
- Android同一个xml布局文件在不同中显示效果不同
- android 不同Activity使用一个SharedPreference
- Android在layout xml中使用include
- Android在layout xml中使用include
- Android在layout xml中使用include .
- Android在layout xml中使用include
- Android在layout xml中使用include
- ORA-00119 ORA-00132
- Python-OpenCV 处理图像(四):图像直方图和反向投影
- linux如何设置时区
- 学习android的建议(牛人-邓凡平)
- Android:网络:采用FTP上传文件
- Android 在同一个Activity使用不同layout
- 【Hibernate3】(5)关联映射(二)
- jquery之$()函数
- 《Effective java》读书记录-第6条-消除过期的对象引用
- Android:网络:文件断点上传
- 【Java】org.w3c.dom.Document 类方法引用报错
- android接入google支付
- Android中选择器selector的使用
- cookie 和session 的区别详解