2013-07-18 123 views
1

是否可以针对不同的屏幕尺寸使用多个Manifest文件。根据屏幕尺寸的Android Manifest

我问,因为我有一个应用程序,应该是手机和平板优化。

但我想锁定“手机版”为纵向,而“平板电脑版”应该启用纵向和横向。

所以对我来说最简单的方法是,让android处理方向更改,我只在清单文件中设置android:screenOrientation =“portrait”。

有没有办法做这样的事情“布局sw600dp”的清单或在清单中的Android链接值:screenOrientation =“@字符串/ portrait_landscape_enabled”

,其中“@字符串/ portrait_landscape_enabled”将设置值 - sw600dp等

有什么建议吗?

回答

0

你应该根据在

if(device is phone) 
{ 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 

运行设备应用程序设置屏幕方向在代码中这只是一个线索。

+0

这似乎是一种可能性...不是最优雅的,因为我必须在每个活动中检查它。如果我在onCreate()中做了这些,会发生什么。第一个活动对于一个简短的periode是否可见,并且会被重新创建(正确的方向)替代吗? – sockeqwe

0

你不能做这件事。我不认为在android中可以制作多个清单文件。

0

您可以通过编程设置,我会写代码片段引用,并尝试自己。无法添加更多清单文件。

Button buttonSetPortrait = (Button)findViewById(R.id.setPortrait); 
    Button buttonSetLandscape = (Button)findViewById(R.id.setLandscape); 

    buttonSetPortrait.setOnClickListener(new Button.OnClickListener(){ 

    @Override 
public void onClick(View arg0) { 
// TODO Auto-generated method stub 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
}}); 

    buttonSetLandscape.setOnClickListener(new Button.OnClickListener(){ 

    @Override 
public void onClick(View arg0) { 
// TODO Auto-generated method stub 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
}}); 
}