欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android使alertDialog.builder不會(huì)點(diǎn)擊外面和按返回鍵消失的方法

 更新時(shí)間:2017年01月06日 15:48:39   作者:呼嘯而過(guò)  
本篇文章主要介紹了Android使alertDialog.builder不會(huì)點(diǎn)擊外面和按返回鍵消失的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。

這個(gè)問(wèn)題之前一直困擾我,我的需求就是點(diǎn)擊對(duì)話框外面和按返回鍵對(duì)話框不會(huì)消失,按返回鍵還好解決,攔截下返回鍵就OK了。

但是點(diǎn)擊外面不好解決。之前有人說(shuō)模態(tài)對(duì)話框,我看了一會(huì),覺得不是我想要的效果。popWindow的話,必須提供父view.

重新看下api,發(fā)現(xiàn)設(shè)置setCancelable屬性就行了。

如:

public void showNoProject(){
    Builder builder = new AlertDialog.Builder(MainActivity.this)
    .setMessage("您還沒(méi)有項(xiàng)目,請(qǐng)先添加項(xiàng)目")
    .setPositiveButton("去添加項(xiàng)目", new OnClickListener() {
      
      @Override
      public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
        
      }
    })
    .setNegativeButton("關(guān)閉", new OnClickListener() {
      
      @Override
      public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
        
      }
    });
    builder.setCancelable(false);
    builder.show();
  }

還有另外兩種實(shí)現(xiàn)方法

一、在oncreate()方法中設(shè)置Dialog點(diǎn)擊屏幕不可取消,實(shí)例代碼如下:

  @Override  
  public void onCreate(Bundle icicle)
  {
   super.onCreate(icicle);
   this.setCancelable(false);// 設(shè)置點(diǎn)擊屏幕Dialog不消失
    int style = DialogFragment.STYLE_NORMAL, theme = 0;
    setStyle(style,theme);
  }

二、將Activity設(shè)置成窗口的樣式實(shí)現(xiàn)Dialog或者Popupwindow效果在開發(fā)中是很常用的一種方式,在AndroidMenifest.xml中將需要設(shè)置的Activity增加android:theme="@android:style/Theme.Dialog"屬性即可。但是窗口化的Activity有個(gè)問(wèn)題就是:點(diǎn)擊窗口空白處Activity會(huì)finish。如何避免這個(gè)問(wèn)題呢,辦法如下:

1、resvaluesstyles.xml

<resources>
  <style name="Theme.SoundRecorder" parent="@android:style/Theme.Holo.DialogWhenLarge">
    <item name="android:windowCloseOnTouchOutside">false</item>
  </style>
</resources>
YourActivity.this.setFinishOnTouchOutside(false);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論