我目前正在使用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