Android項目 手機安全衛士(代碼最全,註釋最詳細)之界面細節

按慣例,寫在前面的:可能在學習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前面,否則會出錯。

發佈留言