2017-11-13 4 views
0

right now it is showing like this. when I click on actionbar any where then it shows only at left corner. I want it to open below i click 길게 누르는 동작 표시 줄 에 팝업 메뉴를 표시하고 싶습니다. 바로 아래 부분에서을 클릭하십시오. 스크린 샷이 아래와 같습니다 길게 누르는 동작 표시 줄에 팝업 창이 나타납니다

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/device_setting" 
     android:title="Device Setting"></item> 
    <item android:id="@+id/app_update" 
     android:title="App Update"></item> 
    <item android:id="@+id/wireless_setting" 
     android:title="Wireless Setting"></item> 
    <item android:id="@+id/hide_footer" 
     android:title="Full Screen"></item> 
</menu> 

아래

toolbar.setOnLongClickListener(new View.OnLongClickListener() { 
    @Override 
    public boolean onLongClick(View v) { 
     PopupMenu popupMenu = new PopupMenu(HomeActivity.this,toolbar); 
     popupMenu.getMenuInflater().inflate(R.menu.popup_menu,popupMenu.getMenu()); 
     popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
      @Override 
      public boolean onMenuItemClick(MenuItem item) { 
       switch (item.getItemId()) { 
        case R.id.device_setting: 
         Toast.makeText(HomeActivity.this, "dev settings", Toast.LENGTH_SHORT).show(); 
         break; 
        case R.id.app_update: 
         break; 
        case R.id.wireless_setting: 
         break; 
        case R.id.hide_footer: 
         break; 
       } 
       return true; 
      } 
     }); 
     popupMenu.show(); 
     return true; 
    } 
}); 

popup_menu.xml이다. ActionBar을 클릭 (더 이상 클릭)하는 위치 바로 아래에서 팝업을 열려고합니다. 매우 유연하기 때문에 귀하의 요구 사항에 따라

Image Screenshot

답변

0

도와주세요, 당신은 단지 팝업 창을 사용합니다,이 GitHub의 라이브러리 여기
https://github.com/kakajika/RelativePopupWindow
, 그냥 윈도우의 위치를 ​​변경해야 선호 예 :

popup.showOnAnchor(toolbar, VerticalPosition.BELOW, HorizontalPosition.LEFT); 
+0

thanx 하지만 위의 API 21 이상, API 19에서 위의 기능을 원합니다 – ki123

+0

이 라이브러리는 API 9+에 대한 지원을 제공하기 때문에이 라이브러리 설명서를 한 번 더 확인할 수 있습니까? –

관련 문제