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