全屏后 无法接收点击事件

TaiJi1985 2011-04-09 05:15:31
		
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR,
WindowManager.LayoutParams.TYPE_STATUS_BAR);



首先,我定义了一个layout 这个layout中包含一个自定义的myview用来绘图. 在myview中重载 onDraw绘图.
虫子onTouchEvent来响应点击事件 .

在没有全屏的时候是好的. 但是通过上面的代码全屏以后,就接受不到消息了.

Logcat中悲剧的出现一个warning : WindowManager No window to dispatch pointer action 1

没有窗口来处理点击消息! 我是有个layout的,layout中有个myview. 是重载了onTouchEvent的, 我也试过
setOnTouchEvent,也不管用. 都是平常时好,全屏后不响应.

!!
再此声明,没有全屏的时候是好的. 上述代码可以成功实现全屏,但是却响应不了点击事件了.按键消息正常.
问,到底问题出在什么地方? 我猜想是全屏后,消息处理链条出现了变化,和正常窗口不一样,但是具体不了解,也不知道该怎么改.


有没有做过全屏的, 或者说全屏后用自定义view的?

layout的代码

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:umadsdk="http://schemas.android.com/apk/res/com.yang.xxx"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.yang.xxx.MyView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/MyView01"
/>


</RelativeLayout>
...全文
382 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
javasoldiers 2011-04-11
  • 打赏
  • 举报
回复
在你myview构造函数中添加,this.setFocusable(true);
试试看,
majaw 2011-04-11
  • 打赏
  • 举报
回复
我是在配置文件里把所有的activity都设置为没有title的,然后再需要有title的地方添加title,这个一个全屏的view默认是没有title,没必要用this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR,
WindowManager.LayoutParams.TYPE_STATUS_BAR);
来设置无title
hslinux 2011-04-11
  • 打赏
  • 举报
回复
嗯,尝试下在你的全屏代码后面加上View对象的setFocusable(true);
TaiJi1985 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 majaw 的回复:]

我是在配置文件里把所有的activity都设置为没有title的,然后再需要有title的地方添加title,这个一个全屏的view默认是没有title,没必要用this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.TYPE……
[/Quote]

谢谢,用你这个办法的确可以绕过这个问题.
TaiJi1985 2011-04-11
  • 打赏
  • 举报
回复
人突然多起来了,看来都是工作时间上csdn呵呵. 假期没人.

公布最后解决办法:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

上面几位大牛说的好像不行. 问题是哪个setFlags我从网上靠的, 设置TYPE_STATUS_BAR,这个不对. 改成
fullscreen这个就对了.

而这个statusbar的, 在网上流传甚广, 以讹传讹. 害人啊!
网络咖啡 2011-04-10
  • 打赏
  • 举报
回复
设置一下界面焦点:调用View对象的setFocusable(true);
TaiJi1985 2011-04-10
  • 打赏
  • 举报
回复
没人回复?
TaiJi1985 2011-04-09
  • 打赏
  • 举报
回复
没人回复?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧