PopupWindow 适配 Android 7.0 、7.1

「问题描述」:

正常显示:
这里写图片描述

这里写图片描述

显示错位:
这里写图片描述

「解决方案」:

package com.chitty.views;

import android.graphics.Rect;
import android.os.Build;
import android.view.View;
import android.widget.PopupWindow;

/**
 * Created by chitty on 2017/7/26.
 * 适配 Android 7.0  7.1
 */

public class FixedPopupWindow extends PopupWindow {
    
    

    public FixedPopupWindow(View contentView, int width, int height) {
        super(contentView, width, height, false);
    }

    @Override
    public void showAsDropDown(View anchor) {
        if (Build.VERSION.SDK_INT >= 24) {
            Rect rect = new Rect();
            anchor.getGlobalVisibleRect(rect);
            int h = anchor.getResources().getDisplayMetrics().heightPixels - rect.bottom;
            setHeight(h);
        }
        super.showAsDropDown(anchor);
    }
}

P.S. :
Android 7.0 的 Build.VERSION.SDK_INT = 24,
Android 7.1 的 Build.VERSION.SDK_INT = 25.

猜你喜欢

转载自blog.csdn.net/CHITTY1993/article/details/78297638