任何人都可以告诉如何在用户更改android中的设备方向时加载不同的xml文件?
例如,我在我的应用程序中使用配置文件屏幕.在纵向模式下,用户提供"用户名"值,之后我将方向更改为横向,现在我必须加载不同的xml,以便用户在landsacpe模式下给出值.
可能吗?
谢谢
编者注:英语似乎不是他的第一语言.
我遇到设备轮换问题.除了一个视图,我显示公司启动画面,我想将所有剩余的应用程序视图锁定到纵向显示.在项目设置中,支持的方向是Portrait和LandscapeLeft.在"公司飞溅"中它工作正常,无论我如何旋转设备,视图旋转都锁定在LandscapeLeft中.在我将设备向左旋转的所有其他视图中,视图会改变而不是保持纵向显示.这些方法甚至没有开火?如果我从项目中支持的方向中删除横向,则会拧紧"公司启动"视图.我尝试改变shouldAutorotate回归NO,但这没有帮助.试图通过这里发布的建议,但这没有帮助.如果我将以下代码放入我的AppDelegate.m,一切都被锁定为纵向模式,并且"公司启动"在访问时崩溃.
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}
Run Code Online (Sandbox Code Playgroud)
除了一个屏幕外,无论设备如何旋转,如何将视图锁定为纵向模式?
**来自'公司飞溅'视图的方法.再次,应该是这样的工作.
-(NSInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeLeft;
}
Run Code Online (Sandbox Code Playgroud)
**来自所有其他视图的方法,当我不希望它们旋转时,这些视图会旋转出来
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// IOS5 Only returning that it should rotate to potrait
return (interfaceOrientation == UIDeviceOrientationPortrait);
}
-(BOOL)shouldAutorotate
{
// forcing the rotate IOS6 Only
return YES;
}
-(NSInteger)supportedInterfaceOrientations
{
// return number or enum IOS6 Only
return UIInterfaceOrientationMaskPortrait;
}
Run Code Online (Sandbox Code Playgroud)
我想也许可能是因为UITabBarController是根控制器而我在ViewController中呢?这些方法甚至没有开火?
我正在开发一个应用程序,我需要在其中提供不同方向的不同活动的背景图像。所以我以这种方式接近:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setLanguage();
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
// set background for landscape
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
// set background for portrait
}
}
Run Code Online (Sandbox Code Playgroud)
和
android:configChanges="locale|orientation|screenSize"
Run Code Online (Sandbox Code Playgroud)
并在onCreate()假设用户将在纵向模式下启动应用程序时,我为纵向设置了背景图像。
一切正常,因为当用户改变他们的模式时,相应的背景被设置等等。
但是,如果用户在手机处于横向模式时启动此应用程序,正如我在用户将以纵向模式启动应用程序之前假设的那样,在第一次启动时显示的纵向图像。
那么我该如何解决这个问题呢?一句话,为不同的方向设置不同的背景图像的最佳方法是什么?我在正确的轨道上吗?
我知道我可以限制清单文件的方向.像这样
android:screenOrientation="portrait"
Run Code Online (Sandbox Code Playgroud)
但是可以从代码中设置方向吗?
例如,可以从清单和代码中将活动设置为全屏 this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
有没有一种简单的方法可以在不影响桌面设备的情况下定位横向移动设备,而无需输入每个设备的屏幕尺寸?
如果没有,是否有针对大多数用户的单一最佳解决方案?
现在移动屏幕的分辨率可以等于或高于大多数桌面屏幕,我不明白为什么许多人使用低于 640x480 的分辨率规则。
例如,要定位纵向设备(99% 是移动设备),可以将规则写入
/*Global and desktop rules*/
@media only screen and (orientation: portrait) {
/*Mobile overwrites*/
}
Run Code Online (Sandbox Code Playgroud)
但是,相同的查询orientation: landscape也会影响桌面用户。
我的临时解决方法是使用vw,vh和vmin,但我想知道是否有更好的方法。
请问一个mobileCSS媒体简化Web开发人员的工作?
我需要在横向和纵向上为 iPad 制作不同的布局,但 iPad 上的尺寸类别始终是常规/常规。Apple 推荐的调整界面的方法是使用具有尺寸类别的自适应布局,但在 iPad 上,纵向和横向模式没有区别。
有没有办法在iPad上呈现不同的纵向和横向布局而不检测设备方向?
例如,在 iPhone(紧凑/常规)上将显示为:
因此,我们的目标是在 iPad 处于纵向模式时显示 iPhone 布局。
谢谢!
我在纵向模式下拥有所有应用程序,但我在横向模式下有一个viewcontroller是图像库.
在项目摘要选项卡上启用LandscapeLeft模式,所以我必须在ViewController的其余部分禁用旋转,除了在图像库的VC中.
我想在纵向模式下保持旋转,要执行此操作并阻止所有VC纵向,我使用以下代码
-(BOOL)shouldAutorotate{
return YES;
}
-(NSInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
}
return UIInterfaceOrientationPortrait;
}
Run Code Online (Sandbox Code Playgroud)
这个,让我在之前的VC中保持横向模式,它应该旋转到Portrait.
有什么想法吗?
我可以在一个控制器中设置纵向和锁定方向吗?
我试过了:
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}
override func shouldAutorotate() -> Bool{
return false
}
Run Code Online (Sandbox Code Playgroud)
但它对我没有帮助.我必须添加其他东西吗?
嘿所有 - 我试图只在纵向视图方向显示我的应用程序无济于事.
我有代码:android:screenOrientation ="肖像"在每个按钮,ImageView,TextView等...在我的xml文件中,但当我将手机倾斜到侧面时,它仍然进入横向视图.
我在我的应用程序中调用相机,但我不认为这是问题 - 任何想法?
我查看了SO,并找到了如何通过编辑Manifest文件将我的整个应用程序锁定到Landscape.但是,这不是我想要的.
我希望每个活动都被锁定为肖像,除了一个,它将锁定到横向.