2013-07-18 158 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); 
}}); 
}