![](/img/trans.png)
[英]when i set popup outside touchable to false edit text does not showing keyboard in pop up window
[英]popup window outside click set to false [setOutsideTouchable(false)] does not work
//创建layoutinflator试试{
LayoutInflater inflator = LayoutInflater.from(this);
//创建视图
final View menuview = inflater.inflate(R.layout.menu,
(ViewGroup) findViewById(R.layout.dictionarylist));
Button Menu = (Button) findViewById(R.id.Menu);
Menu.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
final PopupWindow pw = new PopupWindow(menuview);//initialize popupwindow
pw.showAtLocation(v, Gravity.CENTER, 0, 0);
pw.update(0, 0, 200, 250);
pw.setOutsideTouchable(false);//set outside touch to false
// onclick监听popupwindow中的按钮
Button b1 = (Button) menuview.findViewById(R.id.btnClose);
b1.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
pw.dismiss();
}
});
Button b2 = (Button) menuview.findViewById(R.id.btnQuiz);
b2.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
}
});
Button b3 = (Button) menuview.findViewById(R.id.btnTopic);
b3.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
InitialTask2 Task1 = new InitialTask2();
Task1.execute();
}
});
Button b4 = (Button) menuview
.findViewById(R.id.btnDictionarylist);
b4.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
try{
if(getApplication() != null){
pw.dismiss();
}
else{
Intent i = new Intent();
i.setClass(getBaseContext(), Dictionarylist.class);
startActivity(i);
}
}
catch(Exception x){
x.getMessage();
}
}
});
}
});
} catch (Exception e) {
e.getMessage();
}
}
外部点击弹出窗口不起作用pw.setOutsideTouchable(false);
。 在弹出窗口外单击时,它会执行弹出窗口后面的操作,即父窗口。
尝试这个:
pw.setTouchable(true);
pw.setFocusable(false);
pw.setOutsideTouchable(false);
当窗口可触摸的true
,可聚焦的是false
, setOutsideTouchable()
的作品。
如果setOutsideTouchable(true)
,则弹出窗口外的触摸将被忽略,否则popupwindows的外部仍然可以被触摸而不会被忽略。
要关闭弹出窗口,只需添加以下代码行
popupWindow.setBackgroundDrawable(new ColorDrawable());
它对我有用,我相信这就是你想要的。
请尝试以下代码。 它为我工作
popUp.setOutsideTouchable(false);
popUp.setFocusable(true);
popUp.showAtLocation(this.layout, Gravity.CENTER, 0, 0);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.