Skip to content

Commit 8d0d9e3

Browse files
committed
Android:APIJSONTest 自动 UI 测试 优化分割线显示,新增横屏、按键 TODO
1 parent 766c829 commit 8d0d9e3

3 files changed

Lines changed: 90 additions & 11 deletions

File tree

‎APIJSON-Android/APIJSONTest/app/src/main/java/apijson/demo/application/DemoApplication.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public void onActivityPaused(Activity activity) {
7777
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
7878
Log.v(TAG, "onActivityCreated activity = " + activity.getClass().getName());
7979
activityList.add(activity);
80+
//TODO 按键、键盘监听拦截和转发
8081
}
8182

8283
@Override

‎APIJSON-Android/APIJSONTest/app/src/main/java/apijson/demo/ui/UIAutoActivity.java‎

Lines changed: 73 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import android.content.Context;
1919
import android.content.Intent;
2020
import android.content.SharedPreferences;
21+
import android.content.res.Configuration;
2122
import android.graphics.Color;
2223
import android.graphics.Rect;
2324
import android.os.Bundle;
@@ -131,8 +132,8 @@ protected void onCreate(Bundle savedInstanceState) {
131132
@Override
132133
public void onClick(View v) {
133134
// ((ViewGroup) v.getParent()).removeView(v);
134-
FloatWindow.destroy();
135-
FloatWindow.destroy("ball");
135+
FloatWindow.destroy("v");
136+
FloatWindow.destroy("v_ball");
136137
startActivity(UIAutoActivity.createIntent(DemoApplication.getInstance()));
137138
}
138139
});
@@ -196,6 +197,14 @@ public boolean onTouch(View v, MotionEvent event) {
196197
// event.offsetLocation(0, a.getWindow().getDecorView().findViewById(android.R.id.content).getTop());
197198
event.offsetLocation(0, rectangle.top);
198199
a.dispatchTouchEvent(event);
200+
201+
//放到 Application 中 have already added to window manager
202+
new Handler().postDelayed(new Runnable() {
203+
@Override
204+
public void run() {
205+
showCover(true, a);
206+
}
207+
}, 1000);
199208
} else {
200209
//TODO 不是本 APP 的界面
201210
}
@@ -231,7 +240,7 @@ public boolean onTouch(View v, MotionEvent event) {
231240
//死循环 llTouch.dispatchTouchEvent(event);
232241
// vDispatchTouch.dispatchTouchEvent(event);
233242
// vDispatchTouch.dispatchTouchEvent(event);
234-
//onTouchEvent 不能处理事件 vDispatchTouch.onTouchEvent(event);
243+
//onTouchEvent 不能处理事件 vDispatchTouch.onTouchEvent(event);
235244
// vTouch.setOnTouchListener(this);
236245
return true; //连续记录只能 return true
237246
}
@@ -252,6 +261,7 @@ public boolean onTouch(View v, MotionEvent event) {
252261
}
253262
});
254263

264+
255265
btnButton.setOnLongClickListener(new View.OnLongClickListener() {
256266
@Override
257267
public boolean onLongClick(View v) {
@@ -260,7 +270,6 @@ public boolean onLongClick(View v) {
260270
}
261271
});
262272

263-
264273
new Handler().postDelayed(new Runnable() {
265274
@Override
266275
public void run() {
@@ -276,7 +285,6 @@ public void run() {
276285
}
277286
}, 1000);
278287

279-
280288
cover.setOnTouchListener(listener);
281289

282290
}
@@ -286,9 +294,17 @@ public void onClick(View v) {
286294
cover.setVisibility(View.VISIBLE);
287295
Toast.makeText(context, "onClick BUTTON", Toast.LENGTH_SHORT).show();
288296

289-
if (FloatWindow.get()== null) {
297+
showCover(true, context);
298+
299+
// finish();
300+
}
301+
302+
private void showCover(boolean show, Activity activity) {
303+
//TODO 为纵屏、横屏分别加两套,判断屏幕方向来显示对应的一套
304+
if (FloatWindow.get("v")== null) {
290305
FloatWindow
291306
.with(getApplicationContext())
307+
.setTag("v")
292308
.setView(cover)
293309
.setWidth(screenWidth) //设置控件宽高
294310
.setHeight(screenHeight)
@@ -300,13 +316,12 @@ public void onClick(View v) {
300316
// .setPermissionListener(mPermissionListener) //监听权限申请结果
301317
.build();
302318
}
303-
FloatWindow.get().show();
304319

305320

306-
if (FloatWindow.get("ball") == null) {
321+
if (FloatWindow.get("v_ball") == null) {
307322
FloatWindow
308323
.with(getApplicationContext())
309-
.setTag("ball")
324+
.setTag("v_ball")
310325
.setView(divider)
311326
.setWidth(screenWidth) //设置控件宽高
312327
.setHeight((int) dividerHeight)
@@ -319,11 +334,58 @@ public void onClick(View v) {
319334
// .setPermissionListener(mPermissionListener) //监听权限申请结果
320335
.build();
321336
}
322-
FloatWindow.get("ball").show();
323337

324-
// finish();
338+
//TODO 新建一个 have already added to window manager
339+
340+
// if (FloatWindow.get("h")== null) {
341+
// FloatWindow
342+
// .with(getApplicationContext())
343+
// .setTag("h")
344+
// .setView(cover)
345+
// .setWidth(screenWidth) //设置控件宽高
346+
// .setHeight(screenHeight)
347+
// .setX(0) //设置控件初始位置
348+
// .setY(0)
349+
// .setMoveType(MoveType.inactive)
350+
// .setDesktopShow(true) //桌面显示
351+
//// .setViewStateListener(mViewStateListener) //监听悬浮控件状态改变
352+
//// .setPermissionListener(mPermissionListener) //监听权限申请结果
353+
// .build();
354+
// }
355+
//
356+
// if (FloatWindow.get("h_ball") == null) {
357+
// FloatWindow
358+
// .with(getApplicationContext())
359+
// .setTag("h_ball")
360+
// .setView(divider)
361+
// .setWidth(screenWidth) //设置控件宽高
362+
// .setHeight((int) dividerHeight)
363+
// .setX(0) //设置控件初始位置
364+
// .setY((int) (dividerY + dividerHeight/2))
365+
//// .setY(screenHeight/2)
366+
// .setMoveType(MoveType.slide)
367+
// .setDesktopShow(true) //桌面显示
368+
//// .setViewStateListener(mViewStateListener) //监听悬浮控件状态改变
369+
//// .setPermissionListener(mPermissionListener) //监听权限申请结果
370+
// .build();
371+
// }
372+
373+
FloatWindow.get("v").hide();
374+
FloatWindow.get("v_ball").hide();
375+
// FloatWindow.get("h").hide();
376+
// FloatWindow.get("h_ball").hide();
377+
if (show) {
378+
if (activity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
379+
FloatWindow.get("v").show();
380+
FloatWindow.get("v_ball").show();
381+
} else {
382+
// FloatWindow.get("h").show();
383+
// FloatWindow.get("h_ball").show();
384+
}
385+
}
325386
}
326387

388+
327389
/**
328390
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
329391
*/

‎APIJSON-Android/APIJSONTest/app/src/main/res/layout/unit_auto_divider_layout.xml‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
android:layout_alignParentBottom="true"
99
>
1010

11+
1112
<View
1213
android:id="@+id/vUnitAutoDivider"
1314
android:layout_width="match_parent"
@@ -16,6 +17,21 @@
1617
android:layout_centerInParent="true"
1718
/>
1819

20+
21+
<View
22+
android:layout_above="@id/vUnitAutoDivider"
23+
android:layout_width="match_parent"
24+
android:layout_height="1px"
25+
android:background="#DDEEEEEE"
26+
/>
27+
28+
<View
29+
android:layout_below="@id/vUnitAutoDivider"
30+
android:layout_width="match_parent"
31+
android:layout_height="1px"
32+
android:background="#DDEEEEEE"
33+
/>
34+
1935
<ImageView
2036
android:id="@+id/ivUnitAutoMenu"
2137
tools:layout_width="24dp"

0 commit comments

Comments
 (0)