@@ -82,8 +82,8 @@ public static Intent createIntent(Context context, String list) {
8282 int windowWidth ;
8383 int windowHeight ;
8484
85- View cover ;
86- View divider ;
85+ ViewGroup cover ;
86+ ViewGroup divider ;
8787 View rlUnitAutoDivider ;
8888 View vUnitAutoDivider ;
8989 View ivUnitAutoMenu ;
@@ -127,8 +127,8 @@ protected void onCreate(Bundle savedInstanceState) {
127127 dividerY = cache .getFloat (DIVIDER_Y , screenHeight - dip2px (30 ));
128128
129129 ViewGroup root = (ViewGroup ) getWindow ().getDecorView ();
130- cover = getLayoutInflater ().inflate (R .layout .unit_auto_cover_layout , null );
131- divider = getLayoutInflater ().inflate (R .layout .unit_auto_divider_layout , null );
130+ cover = ( ViewGroup ) getLayoutInflater ().inflate (R .layout .unit_auto_cover_layout , null );
131+ divider = ( ViewGroup ) getLayoutInflater ().inflate (R .layout .unit_auto_divider_layout , null );
132132
133133 rlUnitAutoDivider = divider .findViewById (R .id .rlUnitAutoDivider );
134134 vUnitAutoDivider = divider .findViewById (R .id .vUnitAutoDivider );
@@ -143,6 +143,8 @@ protected void onCreate(Bundle savedInstanceState) {
143143 }
144144 rlUnitAutoDivider .setLayoutParams (dividerLp );
145145
146+ cover .addView (divider );
147+
146148// rlUnitAutoDivider.post(new Runnable() {
147149// @Override
148150// public void run() {
@@ -185,27 +187,28 @@ public void onClick(View v) {
185187 FloatWindow .destroy ("v_ball" );
186188 }
187189 });
188- // ivUnitAutoMenu.setOnTouchListener(new View.OnTouchListener() {
189- // @Override
190- // public boolean onTouch(View v, MotionEvent event) {
191- //// 都不动了 if (event.getY() - event.getRawY() >= 10) {
192- // if (event.getAction() == MotionEvent.ACTION_MOVE || event.getAction() == MotionEvent.ACTION_HOVER_MOVE) {
193- // moved = true;
194- // cover.setY(event.getY());
195- // } else {
196- // if (event.getAction() == MotionEvent.ACTION_DOWN) {
197- // moved = false;
198- // }
199- // else if (event.getAction() == MotionEvent.ACTION_UP) {
200- // if (! moved) {
201- // ivUnitAutoMenu.performClick();
202- // }
203- // }
190+ rlUnitAutoDivider .setOnTouchListener (new View .OnTouchListener () {
191+ @ Override
192+ public boolean onTouch (View v , MotionEvent event ) {
193+ // 都不动了 if (event.getY() - event.getRawY() >= 10) {
194+ if (event .getAction () == MotionEvent .ACTION_MOVE || event .getAction () == MotionEvent .ACTION_HOVER_MOVE ) {
195+ moved = true ;
196+ divider .setY (event .getY ());
197+ // divider.invalidate();
198+ } else {
199+ if (event .getAction () == MotionEvent .ACTION_DOWN ) {
200+ moved = false ;
201+ }
202+ else if (event .getAction () == MotionEvent .ACTION_UP ) {
203+ if (! moved ) {
204+ ivUnitAutoMenu .performClick ();
205+ }
206+ }
207+ }
204208// }
205- //// }
206- // return true;
207- // }
208- // });
209+ return true ;
210+ }
211+ });
209212
210213// ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
211214// root.addView(cover, lp);
@@ -385,6 +388,9 @@ public void record(View v) {
385388
386389 private void showCover (boolean show , Activity activity ) {
387390 //TODO 为纵屏、横屏分别加两套,判断屏幕方向来显示对应的一套
391+ rlUnitAutoDivider .setVisibility (show ? View .VISIBLE : View .GONE );
392+ rlUnitAutoDivider .setY (dividerY + dividerHeight /2 );
393+
388394 if (FloatWindow .get ("v" )== null ) {
389395 FloatWindow
390396 .with (getApplicationContext ())
@@ -400,24 +406,24 @@ private void showCover(boolean show, Activity activity) {
400406// .setPermissionListener(mPermissionListener) //监听权限申请结果
401407 .build ();
402408 }
403-
404-
405- if (FloatWindow .get ("v_ball" ) == null ) {
406- FloatWindow
407- .with (getApplicationContext ())
408- .setTag ("v_ball" )
409- .setView (divider )
410- .setWidth (screenWidth ) //设置控件宽高
411- .setHeight ((int ) dividerHeight )
412- .setX (0 ) //设置控件初始位置
413- .setY ((int ) (dividerY + dividerHeight /2 ))
414- // .setY(screenHeight/2)
415- .setMoveType (MoveType .slide )
416- .setDesktopShow (true ) //桌面显示
417- // .setViewStateListener(mViewStateListener) //监听悬浮控件状态改变
418- // .setPermissionListener(mPermissionListener) //监听权限申请结果
419- .build ();
420- }
409+ //
410+ //
411+ // if (FloatWindow.get("v_ball") == null) {
412+ // FloatWindow
413+ // .with(getApplicationContext())
414+ // .setTag("v_ball")
415+ // .setView(divider)
416+ // .setWidth(screenWidth) //设置控件宽高
417+ // .setHeight((int) dividerHeight)
418+ // .setX(0) //设置控件初始位置
419+ // .setY((int) (dividerY + dividerHeight/2))
420+ //// .setY(screenHeight/2)
421+ // .setMoveType(MoveType.slide)
422+ // .setDesktopShow(true) //桌面显示
423+ //// .setViewStateListener(mViewStateListener) //监听悬浮控件状态改变
424+ //// .setPermissionListener(mPermissionListener) //监听权限申请结果
425+ // .build();
426+ // }
421427
422428 //TODO 新建一个 have already added to window manager
423429
@@ -455,13 +461,13 @@ private void showCover(boolean show, Activity activity) {
455461// }
456462
457463 FloatWindow .get ("v" ).hide ();
458- FloatWindow .get ("v_ball" ).hide ();
464+ // FloatWindow.get("v_ball").hide();
459465// FloatWindow.get("h").hide();
460466// FloatWindow.get("h_ball").hide();
461467 if (show ) {
462468 if (activity .getResources ().getConfiguration ().orientation == Configuration .ORIENTATION_PORTRAIT ) {
463469 FloatWindow .get ("v" ).show ();
464- FloatWindow .get ("v_ball" ).show ();
470+ // FloatWindow.get("v_ball").show();
465471 } else {
466472// FloatWindow.get("h").show();
467473// FloatWindow.get("h_ball").show();
0 commit comments