9
設計要求是,在listview的項目中有一個listview,有一個按鈕,按下按鈕,然後,在按鈕上方顯示一個popupwindow,而不是底部。如何在按鈕上方始終顯示PopupWindow(視圖)?
在Android中,使用「showAsDropDown」,Popupwindow默認顯示在按鈕底部(View或anchor)。 但是,如果底部不能顯示,Popupwindow將顯示在按鈕(視圖或錨點)的頂部。
onTop = (displayFrame.bottom - mScreenLocation[1] - anchor.getHeight() - yoff) <(mScreenLocation[1] - yoff - displayFrame.top);
所以,我根據這一點,通過「setSelectionFromTop」動按鈕的項目,讓判斷是沒有enougn顯示按鈕的底部以達到效果。
在安卓4.0.3,是確定的,該項目的舉動,和popupwindow顯示新的位置和aboved, 但是, 在Android 2.2系統,該popupwindow仍顯示新聞在哪裏,而不是位置移動後。
boolean onTop = (displayFrame.bottom - mScreenLocation[1] - v.getHeight() - 0) < (mScreenLocation[1] - 0 - displayFrame.top);
if(!onTop){
mListMain.setSelectionFromTop(mListMain.getPositionForView(v),(displayFrame.bottom - v.getHeight() + displayFrame.top)/2);
}
可以幫助我,如何解決這個問題.. T_T
我們可以顯示彈出剛剛錨以上?在錨點下面展示這一個。 – 2016-12-05 13:47:14