我想要的是...有一個浮動圖標(總是在其他應用程序之上)。點擊它將顯示一個彈出窗口,它位於屏幕的中心。我曾嘗試接受的答案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. 如何使用JavaScript顯示全屏幕彈出窗口?
- 7. 所有屏幕上的顯示窗口
- 8. 如何在屏幕區域顯示彈出窗口在Flex和AS3
- 9. 如何顯示其他彈出窗口上的彈出窗口?
- 10. 彈出窗口中的XAML TextBox在屏幕鍵盤上隱藏
- 11. 如何在瀏覽器中顯示彈出窗口時凍結屏幕?
- 12. 彈出窗口不顯示
- 13. 彈出窗口不顯示
- 14. 顯示彈出窗口
- 15. iPhone:MKAnnotation顯示彈出窗口?
- 16. 引導4和屏幕外的彈窗
- 17. 在c#中顯示彈出窗口.net
- 18. 在彈出窗口中顯示viewpager
- 19. 在彈出窗口中顯示html
- 20. 在彈出窗口中顯示結果
- 21. 在webgrid中顯示彈出窗口
- 22. 在Python中顯示彈出窗口(PyQt4)
- 23. 在彈出窗口中顯示錶格
- 24. 在彈出窗口中顯示progressBar
- 25. 在wordpress中顯示彈出窗口
- 26. 在彈出窗口中顯示狀態
- 27. 在彈出窗口中顯示值
- 28. 在彈出窗口中顯示RecyclerView
- 29. 如何將彈出窗口放置在屏幕的右上角
- 30. 如何在javascript中顯示全屏彈出窗口?