android双击视频全屏

来源:互联网 发布:软件创新设计方案 编辑:程序博客网 时间:2024/04/30 20:59

事情:

双击视频的view,view全屏。再次双击恢复原状态。  主要包含以下功能点:双击事件监听,视图动态改变layoutParams

解决:

双击监听:

class Doubleclick extends GestureDetector.SimpleOnGestureListener {@Overridepublic boolean onSingleTapConfirmed(MotionEvent e) {return false;}@Overridepublic boolean onDoubleTap(MotionEvent e) {if (titleBar.getVisibility() == View.VISIBLE) {titleBar.setVisibility(View.GONE);onlineContent.setVisibility(View.GONE);LinearLayout.LayoutParams out = (LinearLayout.LayoutParams) onlineCastContent.getLayoutParams();out.height = LinearLayout.LayoutParams.MATCH_PARENT;out.setMargins(0, 0, 0, 0);onlineCastContent.setLayoutParams(out);}else{titleBar.setVisibility(View.VISIBLE);onlineContent.setVisibility(View.VISIBLE);LinearLayout.LayoutParams out = (LinearLayout.LayoutParams) onlineCastContent.getLayoutParams();out.height = 453;out.setMargins(15, 15, 15, 15);onlineCastContent.setLayoutParams(out);}return false;}@Overridepublic boolean onDoubleTapEvent(MotionEvent e) {return false;}}

给activity添加手势监听。

@Overridepublic boolean onTouchEvent(MotionEvent event) {return mGestureDetector.onTouchEvent(event);}


mGestureDetector 定义与初始化

private GestureDetector mGestureDetector;private RelativeLayout onlineContent;private RelativeLayout onlineCastContent;



@Overrideprotected void onCreate(Bundle savedInstanceState) {mGestureDetector = new GestureDetector(this, new Doubleclick());}


注意:

在LinearLayout.LayoutParams out = (LinearLayout.LayoutParams) onlineCastContent.getLayoutParams(); 获取时,需要看这个视图的上一层是LinearLayout、还是RelativeLayout。



0 0
原创粉丝点击