自定義按鈕 點擊彈出PopupWindow窗口

        我記得這個好像是看得不記得是那個軟件的寫法是這樣的,自己整理了下。

       大致的意思就是點擊按鈕,彈出一個預先準備好的PopupWindow窗口。

接口:

public abstract interface MyPopup
{
  public abstract void popAwindow(View paramView);
}

 

自定義按鈕:

public class PopuMenuTextButton extends Button
{
  private MyPopup pwindow;

  public PopuMenuTextButton(Context paramContext, AttributeSet paramAttributeSet)
  {
    super(paramContext, paramAttributeSet);
  }

  protected void onDetachedFromWindow()
  {
    if (this.pwindow != null)
      this.pwindow.popAwindow(this);
    super.onDetachedFromWindow();
  }

  public void setOnDetachedListener(MyPopup paramnl)
  {
    this.pwindow = paramnl;
  }
}

 

使用:

    private PopuMenuTextButton pbtn;
    
    private PopupWindow pwindow;

    /**
     * 顯示PopupWindow 窗口 <功能詳細描述>
     */
    public void showPop()
    {
        int i1 = -1;
        if (upOrdown() == i1)
        {
            View localView1 = LayoutInflater.from(this).inflate(R.layout.layout_popup_calllog, null);
            View localView2 = localView1.findViewById(R.id.popup_callLog_all);
            View localView3 = localView1.findViewById(R.id.popup_callLog_miss);
            View localView4 = localView1.findViewById(R.id.popup_callLog_incoming);
            View localView5 = localView1.findViewById(R.id.popup_callLog_outgoing);
            localView2.setOnClickListener(this);
            localView3.setOnClickListener(this);
            localView4.setOnClickListener(this);
            localView5.setOnClickListener(this);
            PopupWindow localPopupWindow1 = new PopupWindow(localView1, i1, i1);
            this.pwindow = localPopupWindow1;
            this.pwindow.showAsDropDown(this.pbtn);
        }
    }
    
    @Override
    public void popAwindow(View paramView)
    {   //需要繼承MyPopup接口
        upOrdown();
    }

 



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章