編輯:Android開發教程
我們知道在寫JAVA代碼時經常需要用到的一個東西就是對話框(Dialog),比如說我們編寫的程序,別人在用的時候,我們需要給用戶一些提示,而這些提示如果總是以窗口的形式彈出來難免比較麻煩,而且也加重了程序員的負擔,但是很多人對安卓開發中對話框的彈出以及使用不太了解,下面有一段示例:
AlertDialog.Builder dialog=new AlertDialog.Builder(getContext());
dialog.setTitle("白棋贏了");
dialog.setMessage("是否開始新的一局");
dialog.setPositiveButton("確定", surelistener);
dialog.setNegativeButton("取消",cancellistener);
dialog.show();
這是在寫安卓五子棋的時候彈出一個對話框的方法,首先要用到AlertDialog.Builder來創建一個dialog對象,後面的 new AlertDialog.Builder();
括號中的應該寫的是當前類的對象(Context),也就是說如果我們想要在當前的Activity中彈出對話框,這裡就可以寫this,這裡的getContext是因為這是寫在一個我寫的MyView類裡面的,MyView繼承了ImageView中的getContext的方法.
然後在dialog中也提供了很多方法,如設置標題(Title),信息(Message),還有兩個按鈕,一個是PositiveButton,一個是NetgativeButton,裡面需要輸入兩個值,前面一個是按鈕上面的文字,後面一個是按鈕的監聽器,需要注意的是,這裡的按鈕監聽器是包含在android.content.DialogInterface這個包裡面的。
靈活的使用對話框不僅使得代碼更加簡潔,也加強了用戶的體驗性,接下來還有一個知識點,就是如何清除位圖上的資源,有兩個方法,一個是將我們的位圖上面的資源設為透明,map.eraseColor(Color.TRANSPARENT);//map是我們創建的位圖對象,
當然,這樣做的話,位圖上的資源肯定還在,只是我們看不到了,如果要完全清除位圖上的資源,就要采用下面的方法,p是我們創建的畫筆對象Paint,c是我們創建的Canvas對象,如下:
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
Rect rect = new Rect(0, 0, 320, 320);
//這裡的後面兩個值要和我們創建的Bitmap對象的大小相同
p.setStyle(Paint.Style.FILL);
c.drawRect(rect, p);
p.setStyle(Paint.Style.FILL_AND_STROKE);
p.setXfermode(null);
不過,上面設置透明的方法也有一定的好處,一是在於代碼比較簡潔,二是在某些場合下,我們無法完成第二種方法,比如說我們是要在另外一個Activity的方法中清空這裡的位圖資源,使用第二種方法肯定會有一些需要考慮的地方,比如說畫筆(Paint)與畫布(Canvas)必須是公有的,而這種方法顯然只需要Bitmap對象是公有的即可。這樣可以避免在多個不同的類中同時含有畫筆與畫布對象,但有時候需要公用,有時候又需要分開用的情況。
查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/
CyanogenMod 10(CM10),最新基於Android 4.1果凍豆版本的ROM,在今天對少數設備推出。版本10已經在過去的數月經歷了無數個夜晚的beta開發,
Android app性能測試總結(持續更新中)1.性能測試的幾個指標:
上下文相關菜單(Context Menu)類同PC上按鼠標右鍵顯示的菜單,在Android平台上是長按來激活Context Menu,Context Menu一般用來顯示
游俠用的是Android系統的手機,今天早上要刪個文件,結果手快,點錯了……就這樣糾結著到了公司。其實筆記本電腦硬盤裡面有一些數據、照片恢復軟