Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android中如何使用對話框及如何清除位圖上的資源

Android中如何使用對話框及如何清除位圖上的資源

編輯: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/

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved