2016-07-19 2 views
-2

Как я могу показать всплывающее окно ниже RecyclerView item?Как показать всплывающее окно под пунктом RecyclerView?

я должен использовать PopupWindow, потому что меню настроено компоновке

Смотрите изображение:

enter image description here

+0

Я вам хочу всплывающий быть по списку, вы должны получить позицию ячейки на экране и поместите его соответственно –

ответ

0

поместить этот код в вашем классе viewHolder

btnExpand.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        PopupMenu popup = new PopupMenu(btnExpand.getContext(), itemView); 

        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
         @Override 
         public boolean onMenuItemClick(MenuItem item) { 
          switch (item.getItemId()) { 
           case R.id.action_Delete: 
            moveFile(recordName.getText().toString(), getAdapterPosition()); 
            return true; 

           default: 
            return false; 
          } 
         } 
        }); 
        popup.inflate(R.menu.second_contect); 
        popup.setGravity(Gravity.RIGHT); 
        try { 
         Field mFieldPopup=popup.getClass().getDeclaredField("mPopup"); 
         mFieldPopup.setAccessible(true); 
         MenuPopupHelper mPopup = (MenuPopupHelper) mFieldPopup.get(popup); 
         mPopup.setForceShowIcon(true); 
        } catch (Exception e) { 

        } 
        popup.show(); 
       } 
      }); 

вы можете увидеть мой PopupMenu

enter image description here

+0

я должен использовать PopupWindow, потому что меню настроено раскладка. –

+0

ok .. можете ли вы PLZ обновить свой ответ, когда вам удастся на PopupWindow .. bcz я также хотел установить Popupwindow вместо popupmenu .. –

1

showPopUpMenu(View);View, где вы хотите прикрепить это всплывающее окно?

void showPopUpMenu(View anchor) { 
     PopupMenu popup = new PopupMenu(MainActivity.this, anchor); 
     //Inflating the Popup using xml file 
     popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu()); 

     //registering popup with OnMenuItemClickListener 
     popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
      public boolean onMenuItemClick(MenuItem item) { 
       Toast.makeText(MainActivity.this, "You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show(); 
       return true; 
      } 
     }); 

     popup.show();//showing popup menu 
    } 

Full Demo

Смежные вопросы