跳转到内容
主菜单
主菜单
移至侧栏
隐藏
规范/协议
协议
算法
JVM
多线程/并发
存储
AI
深度学习
工具箱
最近更改
文章分类
全部文章
WHY42
搜索
搜索
外观
登录
个人工具
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁Android landscape”︁的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
Android landscape
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
虽然我们可以将UI设计的尽可能的响应式,但是也可以为横屏应用单独进行布局达到更好的效果。横屏布局是通过layout-land文件夹中的同名layout文件实现的。 = 创建landscape布局= 在新版的Android Studio中,默认生产的工程中是没有layout-land文件夹的,我们也不必手动创建这样的文件夹。在design界面,可以快捷的创建横屏布局: [[File:create_land_layout.png|600px|create land layout]] = 代码中的实现= 值得注意的是,虽然land的布局文件已经加上了,但我发现我的界面在旋转的时候并没有生效(竖屏的时候旋转屏幕),还是显示的竖屏的设计界面,研究了一下发现问题所在: <syntaxhighlight lang="xml"> <activity android:name=".SplashActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:theme="@style/Theme.AppCompat.NoActionBar"> </syntaxhighlight> 可以看出android:configChanges中有orientation这一个mask,意味着当屏幕旋转时,安卓设备不会自己去处理这个事件,所以也就没有生效。解决方案有两种: 一个是删掉这个android:configChanges中的orientation选项,这样旋转屏幕的时候,android会销毁掉activity并重新创建一个,当然这时候如果有一些数据需要保存的话也就没有了。 另一个是保留这个选项,在代码中处理: <syntaxhighlight lang="java"> @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); setContentView(R.layout.activity_splash); } </syntaxhighlight> 这样不会销毁这个activity。 [[File:land_layout.png|600px|land layout]]{style="height:200px;width:400px"} [[File:portrait_layout.png|600px|portrait layout]]{style="width:200px"} [[Category:Android]] [[Category:Mobile]]
返回
Android landscape
。
搜索
搜索
查看“︁Android landscape”︁的源代码
添加话题