程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-如何修改 activity 中的布局

android-如何修改 activity 中的布局

編輯:編程綜合問答
如何修改 activity 中的布局

當方向改變時,我想讓activity 不被毀壞,因此我在manifest 文件中添加:

<activity
          android:name="MyActivity"
          android:configChanges="orientation|keyboard|keyboardHidden">
 </activity>

現在的問題是每當方向轉化成橫向方式時,我如何才能使它轉向一個新的布局?
在 layout-land 或者 layout-port 裡加入布局文件還是不能正常運行。

最佳回答:


首先在清單文件加權限:<uses-permission android:name="android.permission.CHANGE_CONFIGURATION">
然後重寫onConfigurationChanged()方法.

@Override
public void onConfigurationChanged(Configuration newConfig) {
    // TODO Auto-generated method stub
    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){  
        //橫向  
        setContentView(R.layout.main_landscape);  
        //重新實例化組件和設置監聽
    }else{  
        //豎向  
        setContentView(R.layout.main);  
        //重新實例化組件和設置監聽       
    }  
}

最後別忘了在onCreate()時加上判斷,

if(getResources().getConfiguration().orientation ==Configuration.ORIENTATION_LANDSCAPE){
    setContentView(R.layout.main_landscape);
}else {
    setContentView(R.layout.main);
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved