1
我正在開發具有片段的典型平板電腦應用程序:左側的元素列表和右側的內容。對於智能手機版本,我只顯示一個帶有元素列表的片段,對於平板電腦,我會顯示帶有列表和內容的2個片段。爲縱向/橫向創建7英寸平板電腦的特定佈局,更改佈局
爲了處理屏幕旋轉,我正在處理我的應用程序的旋轉。當用戶旋轉屏幕和我所展示的圖像或右側一些文字,我的表現出來全屏:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.i(TAG, "onConfigurationChanged");
if(MainFragmentActivity.isTablet)
{
FragmentManager fm = getSupportFragmentManager();
if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE && !frameTabs.isShown()) //Show again the tabs fragment
{
Utils.goNormalScreen(this);
frameTabs.setVisibility(View.VISIBLE);
}
else if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT && (fm.findFragmentByTag(Utils.SHOW_IMAGE_TAG) != null || fm.findFragmentByTag(Utils.SHOW_TEXT_TAG) != null
|| fm.findFragmentByTag(Utils.SHOW_WEB_TAG) != null)) //Hide tabs fragment
{
Log.i(TAG, "Detected showing image");
Utils.goFullScreen(this);
frameTabs.setVisibility(View.GONE);
}
}
}
的問題是7寸平板電腦:在縱向模式我想展示智能手機版本(帶有列表的1個片段),以及帶有2個片段的平板電腦版本。
因此,在onConfigurationChanged()我需要檢測7英寸平板電腦,並重新創建活動,以改變佈局,是不是?怎麼做?有沒有其他更好的方法來使它工作?
我應該重新創建從服務器(ListView)再次獲取所有數據的活動,還是將數據保存到包中並在旋轉時重用它會更好?
問題是,只要我知道,我真的需要處理配置更改,如果我想在用戶在顯示圖像/文本時旋轉設備時全屏顯示。有沒有其他的方法來獲得這個功能?如果我處理旋轉,那麼我必須手動更改7英寸平板電腦的佈局。 – 2013-04-03 07:53:35
換句話說,我想手動處理除7英寸平板電腦以外的所有情況下的屏幕旋轉。在這種情況下,我只想顯示不同的佈局。有可能這樣做嗎? – 2013-04-04 13:43:28