2017-02-13 19 views
0

私のアプリには2つのPopupWindowsがあり、それらは交差します。今は別のPopupWindowで表示しているPopupWindowを管理したいと思っています。これはZ軸を意味します。これのための任意のアイデア? 次の画像が表示されます。別のPopupWindowに表示されるPopupWindowを設定する方法

enter image description here

enter image description here

+0

私が知る限り、最新のポップアップは常に古いものを引き出します。 'PopupWindow'は' setElevation'メソッドを持っています。しかしAPI 21に追加されました。 –

+0

私はsetElevation()を使用しましたが、機能しませんでした。 – jiabao

+0

新しいポップアップで 'show()'を呼び出した後に、以前のポップアップで 'show()'を呼び出そうとしているかもしれません。 –

答えて

0

あり最初PopupWindowがあり、第二PopupWindowを示し、このPopupWindow上のTextViewをクリックしてください。

PopupWindow mPop,mPop2; 

    /** 
    * show first popupWindow 
    */ 
    private void popupWindow(final View vi) { 
     View view = LayoutInflater.from(this).inflate(R.layout.pop, null); 
     TextView tv = (TextView) view.findViewById(R.id.tv1); 
     //click show second one 
     tv.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       popupWindow2(vi); 
      } 
     }); 
     if (null == mPop) { 
      mPop = new PopupWindow(view); 
     } 
     mPop.setHeight(294); 
     mPop.setWidth(200); 
     mPop.setFocusable(true); 
     mPop.setOutsideTouchable(true); 
     mPop.setBackgroundDrawable(new ColorDrawable(0)); 
     mPop.showAtLocation(vi, Gravity.CENTER | Gravity.CENTER, 22, 
       22); 
     mPop.update(); 

    } 

/** 
    * show second popupWindow 
    */ 
    private void popupWindow2(View v) { 
     View view = LayoutInflater.from(this).inflate(R.layout.pop2, null); 
     if (null == mPop2) { 
      mPop2 = new PopupWindow(view); 
     } 
     mPop2.setHeight(294); 
     mPop2.setWidth(200); 
     mPop2.setFocusable(true); 
     mPop2.setOutsideTouchable(true); 
     mPop2.setBackgroundDrawable(new ColorDrawable(0)); 
     mPop2.showAtLocation(v, Gravity.CENTER | Gravity.CENTER, 42, 
       42); 
     mPop2.update(); 

    } 

この問題を解決してください。 sample

+0

あなたの答えをありがとう、これはpopupwindowのための通常の順序ですが、もし私が最初のものを2番目のものよりも上にしたいのであれば、最初のもののshow()を思い出すべきですか?私はこれをやりたいとは思っていません。私は、あるポップアップウィンドウを他のものよりも上手に扱うためのアイデアがあるかどうかを知りたいだけです。 – jiabao

関連する問題