popupWindow.showAtLocation lagg / delay

时间:2017-04-29 22:07:29

标签: android popupwindow

我目前正在使用LED控制器应用程序,我得到了一个colorpicker作为popupWindow正常工作。但是,每当我打开popupWindow时,按下按钮并实际显示之间会有一点延迟。

在创建测试延迟的消息后,我添加了一个toast消息(我为此创建了函数msg)。 当我删除popupWindow.showAtLocation(mRelativeLayout,Gravity.CENTER,0,0);线上吐司立刻出现。否则弹出窗口实际弹出至少需要一秒钟。

以下是我的代码的重要部分:

    public ColorPickerView initiateColorWindow() {
    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);

    View customView = inflater.inflate(R.layout.colorpicker,null);
    popupWindow = new PopupWindow(
            customView,
            LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT
    );

    if(Build.VERSION.SDK_INT>=21){
        popupWindow.setElevation(5.0f);
    }



    // Closes the popup window when touch outside.
    popupWindow.setOutsideTouchable(true);
    popupWindow.setFocusable(true);
    // Removes default background.
    popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));


    popupWindow.showAtLocation(mRelativeLayout, Gravity.CENTER,0,0);

    open = true;

    //set default color for picker
    final ColorPickerView cp = (ColorPickerView) customView.findViewById(R.id.colorPicker);
    msg("done");

我希望有人能够帮助我,因为我不知道是什么原因造成这种延迟。

提前致谢, Tthecreator

0 个答案:

没有答案