我想要的是...有一個浮動圖標(總是在其他應用程序之上)。點擊它將顯示一個彈出窗口,它位於屏幕的中心。我曾嘗試接受的答案here,但它沒有工作:(彈出窗口顯示在屏幕中心和上下文外
1
A
回答
0
好,與它搏鬥後,我找到了一種方法來做到這一點。這是有點棘手LOL。
public void createWindow() {
//initialize the popup window
// blah blah blah and right before you're about to show it, create
// a framelayout like the one below. And use windowmanager to addView
// (just like the way we create a floating icon on top of other apps)
framelayout = new FrameLayout(this);
WindowManager.LayoutParams layoutparameters = new WindowManager.LayoutParams(
width, height, WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
parameters.gravity = Gravity.TOP | Gravity.LEFT;
manager.addView(framelayout, layoutparameters);
framelayout.post(new Runnable() {
public void run() {
pop.showAtLocation(framelayout, Gravity.CENTER, 0, 0);
}
});
}
但不這樣做,我的朋友們!不要在方法CreateWindow的()。
pop.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
try {
manager.removeView(framelayout);
framelayout = null;
} catch (Exception e) {
}
}
}, 500);
忘記了這一點你可以離開了處理程序。我使用它,因爲我的彈出窗口中使用動畫解僱(是我的動畫時長爲500毫)。完成!
1
搭上這麼多的功能後,得到了預期的結果。而不是使用ShowAtLocation()使用showAsDropDown()。定義錨點,寬度和高度。如果你的min sdk大於16,那麼你可以使用重力作爲第四個參數。
popupWindow.showAsDropDown(mcontext.findViewById(R.id.ap1), LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
相關問題
- 1. 在屏幕上居中顯示一個彈出窗口?
- 2. 在鎖定屏幕上顯示彈出窗口
- 3. 顯示彈出中心的新窗口
- 4. 如何在屏幕上顯示彈出中心
- 5. 彈出式窗口,中央屏幕
- 6. 屏幕中心窗口
- 7. 如何使彈出窗口看看屏幕的中心?
- 8. 如何使用JavaScript顯示全屏幕彈出窗口?
- 9. 所有屏幕上的顯示窗口
- 10. 在父窗口所在的屏幕上顯示子窗口
- 11. 如何在屏幕區域顯示彈出窗口在Flex和AS3
- 12. 如何顯示其他彈出窗口上的彈出窗口?
- 13. 顯示iframe之外的彈出窗口?
- 14. 關於在小屏幕上顯示Bootstrap彈出窗口的問題
- 15. 彈出窗口需要居中在屏幕上
- 16. 彈出窗口破壞屏幕方向
- 17. 在父窗口中顯示彈出窗口輸入文本值?
- 18. 如何在瀏覽器中顯示彈出窗口時凍結屏幕?
- 19. 在屏幕頂部顯示wpf窗口
- 20. 彈出窗口不顯示
- 21. 彈出窗口不顯示
- 22. 彈出窗口不顯示
- 23. 顯示彈出窗口
- 24. iPhone:MKAnnotation顯示彈出窗口?
- 25. 引導4和屏幕外的彈窗
- 26. Android彈出窗口在彈出窗口外彈出時解僱
- 27. 在webgrid中顯示彈出窗口
- 28. 在iOS中顯示彈出窗口
- 29. 在c#中顯示彈出窗口.net
- 30. 在彈出窗口中顯示結果