我正在尝试为我的应用程序强制"纵向"模式,因为我的应用程序绝对不是为"横向"模式设计的.
在阅读了一些论坛后,我在清单文件中添加了这些行:
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)
但它不适用于我的设备(HTC Desire).它从"纵向"lo"横向"切换,忽略清单文件中的行.
在更多论坛阅读之后,我尝试在我的清单文件中添加它:
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:configChanges="orientation"
android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)
这个函数在我的activity类中:
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Run Code Online (Sandbox Code Playgroud)
但同样,没有运气.
我已经看到了能够为一个活动指定两个单独的布局xml文件的引用,一个用于Portrait,一个用于Landscape.我没有找到任何有关如何做到这一点的信息.如何为每个活动指定哪个xml文件是纵向布局,哪个是横向布局?
是否也可以为不同的屏幕尺寸指定不同的布局?如果是这样,这是怎么做到的?
我正在使用预览来显示相机在屏幕上看到的内容.
我可以使一切工作正常,表面创建,表面设置和表面显示.
但是,在纵向模式下,它始终以不正确的90度角显示图像.
如图中所示:

我知道使用以下代码将直接设置图片:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
但是我在Activity中有预览,其中包含其他元素,并且我的Activity在横向模式下显示没有意义.(默认禁用)
所以我想知道是否只是改变预览的方向?并在"纵向"模式下正确显示我的其余活动?
或者无论如何旋转预览以便正确显示?
有人能告诉我如何将我的应用程序锁定为纵向模式吗?它是清单文件中的简单配置吗?
由于我的应用得到了所有方向的支持.我想只将肖像模式锁定到特定的UIViewController.
(例如,假设它是Tabbed应用程序,当SignIn View以模态方式出现时,我只想将SignIn View设置为纵向模式,无论用户如何旋转设备或当前设备方向如何)
无论如何都要确定设备是默认的纵向还是横向?我的意思是你通常如何使用该设备.
大多数手机都有正常使用的人像屏幕,但有一些标志可以找到它吗?
应用支持:iOS6 +
我的应用程序适用于纵向和横向.但是1个控制器应该仅适用于肖像.
问题是,当我在横向并推动视图控制器时,新的视图控制器也处于横向状态,直到我将其旋转为纵向.然后,它应该是画像.
是否有可能始终以纵向显示?即使它的父母在风景中推动它?
以下所有代码都无济于事
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
Run Code Online (Sandbox Code Playgroud)
这段代码可以工作,除非我不是从横向推出如何在iOS 6中强制UIViewController到Portrait方向
在iPad App中我正在使用UISplitViewController.当应用程序以纵向模式启动时,我需要强制显示主弹出窗口.
现在我正在使用此代码,它在iOS 5.0上运行良好.
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
if ([[[AppDelegate sharedAppDelegate] splitViewController] respondsToSelector:[[[AppDelegate sharedAppDelegate] btnMenu] action]]) {
[[[AppDelegate sharedAppDelegate] splitViewController] performSelector:[[[AppDelegate sharedAppDelegate] btnMenu] action]];
}
}
Run Code Online (Sandbox Code Playgroud)
但是在iOS 5.1(使用新型主弹出窗口)中,行为似乎是随机的.有时弹出窗口全屏显示,有时效果很好.
5.1的一些建议?
我试图创建一个简单的相机应用程序进行研究.我阅读Android Camera Official Document然后开始编码.所以我做了一些步骤让它发挥作用
1.在应用中添加了相机功能所需的权限.
2.我的活动仅限于PORTRAIT模式.
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
3.增加了几个相机回调以使我的相机工作.
4.In surfaceChanged方法,我自定义相机设置.到目前为止,我已经为几乎所有Android设备工作了
但随后我在Android版2.3.6的三星Galaxy ACE上进行了测试,发现Camera Display Preview已转为横向模式.
因此,在记录了log-cat/break点后,我发现下面的方法对于这个特定的模型不起作用
//This method is not working for Samsung Galaxy ACE
camera.setDisplayOrientation(90);
//or
parameters.set("orientation", "portrait");
//or
parameters.setRotation(90);
Run Code Online (Sandbox Code Playgroud)
注意: 我在Google和SO上搜索了大量解决方案,但到目前为止还没有任何运气
供您参考我的示例代码如下
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
Log.v(TAG, "surfaceChanged get called"); …Run Code Online (Sandbox Code Playgroud) 我有两个漂浮在一起的div.我想要的是,当你在肖像模式下看它时,它的宽度为100px,让我说在景观中200 px.这实际上是在移动设备上查看.
所以div在横向模式下会扩展,并在纵向缩小一点.
有任何想法吗?