怎样让WindowManager加上的view和周围没被view挡住的控件都获得焦点 求回帖,我要给分了!!!!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没人要分了?只要回帖就给分!!!!!!!!!!!!!!!!! 好吧,我遇到了跟你一样的问题. 也是焦点的困扰... 我给解决了 给View设置 wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;FLAG_WATCH_OUTSIDE_TOUCH 这个是可以获得一次外部焦点,当获取外部焦点的时候 把View再改成view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_OUTSIDE) { Log.v("====", "onTouch ACTION_OUTSIDE"); handler.post(new Runnable() { @Override public void run() { if (view.getParent() != null) { wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;//不允许获取焦点 wm.updateViewLayout(view, wmParams); } } }); } return false; } });这样的话就可以获得外部的事件。 android NDK 问题 用sqlite3保存byte[]遇到问题 android的Wifi Direct功能 求教各位~~~ ndk哪个版本可以支持 C++的STL呢? ADT与SDK 缩略图 error: 'jstringToString' was not declared in this scope 请问Android上有什么软件可以录制频幕操作的视频? 第一行代码中探究活动的项目 SKIA源代码发现的两处内存泄露及解决方法! 我想要做一个Android的游戏
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;FLAG_WATCH_OUTSIDE_TOUCH 这个是可以获得一次外部焦点,当获取外部焦点的时候 把View再改成
view.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
Log.v("====", "onTouch ACTION_OUTSIDE");
handler.post(new Runnable() {
@Override
public void run() {
if (view.getParent() != null) {
wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;//不允许获取焦点
wm.updateViewLayout(view, wmParams);
}
}
});
}
return false;
}
});这样的话就可以获得外部的事件。