亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Android viewpager懸浮窗問題怎么解決

小億
104
2023-11-30 18:04:26
欄目: 編程語言

要解決Android ViewPager懸浮窗問題,你可以嘗試以下方法:

  1. 使用WindowManager來創建一個懸浮窗口,并將ViewPager添加到該懸浮窗口上。
// 創建懸浮窗口
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
        WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
        PixelFormat.TRANSLUCENT);

WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
ViewGroup.LayoutParams viewPagerParams = new ViewGroup.LayoutParams(
        ViewGroup.LayoutParams.MATCH_PARENT,
        ViewGroup.LayoutParams.MATCH_PARENT);
ViewPager viewPager = new ViewPager(context);
viewPager.setLayoutParams(viewPagerParams);

// 將ViewPager添加到懸浮窗口上
windowManager.addView(viewPager, params);
  1. 為ViewPager設置OnTouchListener來處理觸摸事件,以實現懸浮窗口的拖動效果。
viewPager.setOnTouchListener(new View.OnTouchListener() {
    private int initialX;
    private int initialY;
    private float initialTouchX;
    private float initialTouchY;

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                initialX = params.x;
                initialY = params.y;
                initialTouchX = event.getRawX();
                initialTouchY = event.getRawY();
                return true;
            case MotionEvent.ACTION_MOVE:
                params.x = initialX + (int) (event.getRawX() - initialTouchX);
                params.y = initialY + (int) (event.getRawY() - initialTouchY);
                windowManager.updateViewLayout(viewPager, params);
                return true;
        }
        return false;
    }
});

請注意,使用懸浮窗口需要適當的權限申請,并且在不需要時要及時移除懸浮窗口。

0
顺义区| 新乡市| 巴林右旗| 新巴尔虎左旗| 遵化市| 集安市| 屯门区| 贺州市| 岱山县| 永宁县| 厦门市| 马龙县| 新竹县| 溧阳市| 鹿邑县| 堆龙德庆县| 宜兴市| 井冈山市| 拉萨市| 柯坪县| 鸡西市| 常州市| 章丘市| 靖宇县| 黄浦区| 略阳县| 宝鸡市| 金湖县| 景洪市| 双牌县| 海安县| 清涧县| 柘城县| 称多县| 大冶市| 衡水市| 株洲县| 彰化市| 张家港市| 伊通| 泉州市|