軟件好比女人,一個美麗的外表往往要花費總開發時間的一半以上,而這往往決定了該軟件能不能順利嫁出去~
搞開發有一陣子了,越來越能體會到上面那句話的真谛。
言歸正傳,最近在研究橫豎屏切換的問題,統計了下,大家的解決辦法是:
①不理會。。
②只豎屏顯示(android:screenOrIEntation="portrait")
只橫屏顯示(android:screenOrIEntation="landscape")
③簡單的防止重載:
在 androidManifest.XML中加入:android:configChanges="orIEntation|keyboardHidden"
在activity中重載onConfigurationChanged事件
- @Override
- public void onConfigurationChanged(Configuration config) {
- super.onConfigurationChanged(config);
- }
④橫豎屏分別布局
論壇上也有很多講解這部分的,但像我這樣的新手還是一頭霧水,今看到guoen的一篇文章,真是豁然開朗,遂分享之~
橫豎屏分別布局的方法是:
在res下新建
layout-land 橫屏
layout-port 豎屏
然後把layout中的XML文件分別考到以上目錄,修改下布局就可以了代碼中不做任何更改。在 androidManifest.XML文件中的 主Activity中加入
- android:configChanges="orIEntation|keyboardHidden"
然後在主Activity中的onConfigurationChanged加入
- @Override
- public void onConfigurationChanged(Configuration config) {
- super.onConfigurationChanged(config);
- if (config.orientation == Configuration.ORIENTATION_PORTRAIT) {
- setContentVIEw(R.layout.main); //布局
- tv = (TextView) findVIEwById(R.id.EditText01); //控件
- }
- if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
- setContentVIEw(R.layout.main); //布局
- tv = (TextView) findVIEwById(R.id.EditText01); //控件
- }
- }