安卓,双击实现全屏,再次双击退出全屏,如此反复。如何实现

霹雳涛 2012-03-19 01:28:51
mGestureDetector = new GestureDetector(new SimpleOnGestureListener() {

@Override
public boolean onDoubleTap(MotionEvent e) {
// TODO Auto-generated method stub

if (isFullScreen) {

Log.d("1111111111111111111", "2222222222222");

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.image_show);


} else {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN ,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.image_show);
}
isFullScreen = !isFullScreen;


return true;
}


刚开始我设置全屏:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN ,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

private boolean isFullScreen = true;
...全文
508 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
霹雳涛 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 zhouyongyang621 的回复:]
当出现状态栏时,你把图片视图动态往上移阿,
我的做法是,根据当前可用区域大小,动态计算图片视图的位置
[/Quote]

这个不好实现啊,没有状态栏时图片是居中的,出现状态栏图片就不居中了,不好控制
梦_枫 2012-03-19
  • 打赏
  • 举报
回复
当出现状态栏时,你把图片视图动态往上移阿,
我的做法是,根据当前可用区域大小,动态计算图片视图的位置
qinjuning 2012-03-19
  • 打赏
  • 举报
回复
这个全屏/非全屏的设置肯定是实现不了的额。因为系统都把布局文件写好了。

具体原因:参考我的这篇文章,希望对你有用。
http://blog.csdn.net/qinjuning/article/details/7226787
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 a_mean 的回复:]
为什么一定要让控件位置保持不变?你不觉得不变反而不合理?
都全屏切换了,为什么不应该往下压?
[/Quote]
从用户角度来看,感觉多多少少有些别扭。。。。本来我是想把这个问题搞定后,再让状态栏变透明,这样效果比较好,但是结果第一步就有问题 唉
a_mean 2012-03-19
  • 打赏
  • 举报
回复
为什么一定要让控件位置保持不变?你不觉得不变反而不合理?
都全屏切换了,为什么不应该往下压?
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 a_mean 的回复:]
那你自己设计一个假的状态栏就可以了。
系统的状态栏永远都不显示,你切换隐藏和显示的是你自己的状态栏,这样空间大小才不会改变。
[/Quote]

额-。- 那样感觉工作量就变大了。
a_mean 2012-03-19
  • 打赏
  • 举报
回复
那你自己设计一个假的状态栏就可以了。
系统的状态栏永远都不显示,你切换隐藏和显示的是你自己的状态栏,这样空间大小才不会改变。
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 a_mean 的回复:]
无法解决。你在设置windows的状态栏为自动隐藏之后,
所有全屏的窗口都会往下移,而取消后也会往上挤,这是很合理很正常的。
[/Quote]

能设置状态栏不占额外空间,直接覆盖以前的那个空间吗,这样就不会往下移动了
a_mean 2012-03-19
  • 打赏
  • 举报
回复
无法解决。你在设置windows的状态栏为自动隐藏之后,
所有全屏的窗口都会往下移,而取消后也会往上挤,这是很合理很正常的。
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 a_mean 的回复:]
GestureDetector类,通俗来讲可以叫作手势检测类。你应该这样去使用它:

Java code


imageView.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEven……
[/Quote]

设置全屏之后,图片再中央。然后双击之后,出现状态栏,因为图片设置的是居中,出现状态栏之后,空间变小了,图片往下压了。这个如何解决呢
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 a_mean 的回复:]
GestureDetector类,通俗来讲可以叫作手势检测类。你应该这样去使用它:

Java code


imageView.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEven……
[/Quote]
我明白你的意思了。谢谢
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 a_mean 的回复:]
GestureDetector类,通俗来讲可以叫作手势检测类。你应该这样去使用它:

Java code


imageView.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEven……
[/Quote]

我想双击实现这个效果 不是触摸额
a_mean 2012-03-19
  • 打赏
  • 举报
回复
GestureDetector类,通俗来讲可以叫作手势检测类。你应该这样去使用它:

imageView.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {

return mGestureDetector.onTouchEvent(event);
}
});

首先这个事件是通过View触发的,你看看你是这样调用的吗?
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
这个是图片浏览的时候,要实现的效果
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
方法先不管,为什么log没输出?? 我双击了啊 为什么没有触发事件??
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
求教啊
霹雳涛 2012-03-19
  • 打赏
  • 举报
回复
但是没有达到我要的效果,刚进去是全屏,但是双击后没有退出全屏,也log也没输出

80,493

社区成员

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

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