在开发android的应用中,有时候需要限制横竖屏切换。只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。
- android:screenOrientation="landscape"是限制此页面横屏显示,
- android:screenOrientation="portrait"是限制此页面数竖屏显示。
[html] view plaincopy
- android:screenOrientation="landscape"是限制此页面横屏显示,
- android:screenOrientation="portrait"是限制此页面数竖屏显示。
android:screenOrientation设定该活动的方向,该值可以是任何一个下面的字符串:
"unspecified"
- 默認值. 由系統選擇顯示方向. 在不同的設備可能會有所不同.
"landscape"
- 橫向
"portrait"
- 縱向
"user"
- 用戶當前的首選方向
"behind"
- 與在活動堆棧下的活動相同方向
"sensor"
- 根據物理方向傳感器確定方向. 取決於用戶手持的方向, 當用戶轉動設備, 它跟隨改變.
"nosensor"
- 不經物理方向傳感器確定方向. 該傳感器被忽略, 所以當用戶轉動設備, 顯示不會跟隨改變. 除了這個區別,系統選擇使用相同的政策取向對於“未指定”設置. 系統根據“未指定”("unspecified")設定選擇相同顯示方向.
如果要使Activity的View界面全屏,只需要将最上面的信号栏和Activity的Title栏隐藏掉即可,隐藏Title栏的代码:
requestWindowFeature(Window.FEATURE_NO_TITLE);
- 配置文件里代码:
- android:theme="@android:style/Theme.NoTitleBar"
- 隐藏信号栏的代码:
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- 其它使用:
- getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR, WindowManager.LayoutParams.TYPE_STATUS_BAR);
activity属性设置大全
android:allowTaskReparenting=["true" | "false"]
是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。
android:alwaysRetainTaskState=["true" | "false"]
是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态
android:clearTaskOnLaunch=["true"" | "false"]
比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 从新启动 P, 是否显示 Q
android:configChanges=[one or more of: "mcc" "mnc" "locale" "touchscreen" "keyboard" "keyboardHidden" "navigation" "orientation" "fontScale"]
当配置list发生修改时, 是否调用 onConfigurationChanged() 方法 比如 "locale|navigation|orientation".
android:enabled=["true" | "false"]
activity 是否可以被实例化,
android:excludeFromRecents=["true" | "false"]
是否可被显示在最近打开的activity列表里
android:exported=["true" | "false"]
是否允许activity被其它程序调用
android:finishOnTaskLaunch=["true" | "false"]
是否关闭已打开的activity当用户重新启动这个任务的时候
android:icon="drawable resource"
android:label="string resource"
android:launchMode=["multiple" | "singleTop" |"singleTask" | "singleInstance"]
activity启动方式, "standard" "singleTop" "singleTask" "singleInstance" 其中前两个为一组, 后两个为一组
android:multiprocess=["true" | "false"]
android:name="string"
android:noHistory=["true" | "false"]
是否需要移除这个activity当用户切换到其他屏幕时。 这个属性是 API level 3 中引入的
android:permission="string"
android:process="string"
一个activity运行时所在的进程名,所有程序组件运行在应用程序默认的进程中,这个进程名跟应用程序的包名一致。
<application>中的元素process属性能够为所有组件设定一个新的默认值。但是任何组件都可以覆盖这个默认值,允许你
将你的程序放在多进程中运行。 如果这个属性被分配的名字以:开头,当这个activity运行时,一个新的专属于这个程序的
进程将会被创建。如果这个进程名以小写字母开头,这个activity将会运行在全局的进程中,被它的许可所提供。
android:screenOrientation=["unspecified" | "user" | "behind" |"landscape" | "portrait" | "sensor" | "nonsensor"]
activity显示的模式, "unspecified" 默认值 "landscape" 风景画模式,宽度比高度大一些 "portrait" 肖像模式, 高度比
宽度大。 "user" 用户的设置 "behind" "sensor" "nosensor"
android:stateNotNeeded=["true" | "false"]
是否 activity被销毁和成功重启并不保存状态
android:taskAffinity="string"
activity的亲属关系, 默认情况同一个应用程序下的activity有相同的关系
android:theme="resource or theme"
activity的样式主题, 如果没有设置,则activity的主题样式从属于应用程序, 参见<application>元素的theme属性
android:windowSoftInputMode=[one or more of: "stateUnspecified""stateUnchanged" "stateHidden" "stateAlwaysHidden"
"stateVisible""stateAlwaysVisible""adjustUnspecified""adjustResize" "adjustPan"] >
activity主窗口与软键盘的交互模式, 自从API level 3 被引入