2013-10-09 38 views
0

我想在Android上創建一個彈出式菜單,但我希望在觸摸手機硬件按鈕時顯示它,而不是在屏幕上。手機上的Android PopUpMenu集成按鈕

但是本教程只是在觸摸屏幕上的某個按鈕。如何響應手機已有按鈕的觸摸?

不想要圖像按鈕,而是手機中的集成按鈕。

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_overflow_holo_dark" 
    android:contentDescription="@string/descr_overflow_button" 
    android:onClick="showPopup" /> 


public void showPopup(View v) { 
    PopupMenu popup = new PopupMenu(this, v); 
    MenuInflater inflater = popup.getMenuInflater(); 
    inflater.inflate(R.menu.actions, popup.getMenu()); 
    popup.show(); 
} 
+0

這不是也不應該是可能的。 –

+0

爲什麼在用戶希望每次按下與您的應用無關的按鈕時都會彈出菜單? – tyczj

回答

1

如果我猜你的意圖正確......這些都是當您按下硬件按鍵,調用覆蓋的方法......你可以寫你彈出這些方法對話框代碼....

@Override 
    public void onBackPressed() { 
     // TODO Auto-generated method stub 
     super.onBackPressed(); 
    } 



    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     // TODO Auto-generated method stub 
     return super.onKeyDown(keyCode, event); 
    } 
+0

是的這是正確的關注,但我的意思不是鍵盤,而是三星s3手機的左按鈕,這是在每個應用程序,你可以按它,彈出菜單是打開的選項。 – JahShaka

+0

好的一個進一步的問題我有一個列表視圖在這個活動是這個視圖,我必須傳遞給popUp方法來顯示彈出式菜單,但它隱藏在列表視圖後面,任何人都可以幫助。謝謝 – JahShaka