按慣例,寫在前面的:可能在學習Android的過程中,大傢會和我一樣,學習過大量的基礎知識,很多的知識點也都能說出瞭123來,但是這些孤立的點終究顯得太零散瞭,因此,我想從今天開始,以最經典的手機安全衛士項目為例,自己鍛煉一下,也是想和大傢交流交流,希望大傢都能給出見解,共同進步。
八、界面細節
處理一些界面上的小細節。
1.如果在對話框出現後,用戶點擊後退,就會停留在splash界面。我們需要處理成點擊後退,就進入主界面。
這就需要我們在取消對話框的時候,給一個監聽器,正好也有這樣的一個api,OnCancleListener。代碼放在對話框show()之前。
具體代碼: /* * 當取消對話框的時候,直接進入主界面 */ builder.setOnCancelListener(new OnCancelListener(){ @Override public void onCancel(DialogInterface dialog) { loadMainUI(); } });
2.用戶在下載完成新版本後,會出現一個是否安裝新應用的對話框,如果這時候用戶又不想安裝瞭,點擊取消,又會出現卡在splash界面上的情況。
這時候我們就需要得到下載成功後開始安裝的返回值,可以用startActivityForResult(intent,0)
(快捷鍵:Alt+/ 快速獲取api)
將apkInstall(File t)方法中的startActivity(intent)改為startActivityForResult(intent,0),然後寫onActivityResult方法。
具體代碼:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { loadMainUI(); super.onActivityResult(requestCode, resultCode, data); }
3.更新提醒的對話框,黑底色顯得很難看,我們想把它變得美觀些。怎麼處理呢?
之所以會顯示這樣的樣式,是因為我們在當前activity主題樣式是舊版本的:android:theme="@android:style/Theme.Black.NoTitleBar"
這時候我們隻需把這一行代碼刪除掉,就可以使得對話框變得美觀。但是這時候,標題欄又出現瞭,我們可以使用代碼,將標題欄去掉。
然後在onCreate下增加代碼:
requestWindowFeature(Window.FEATURE_NO_TITLE);
這樣就可以瞭。
註意:這一句必須放到setContentView前面,否則會出錯。