下面列出了怎么用android.support.test.espresso.action.GeneralClickAction的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* Custom ViewAction to click on dedicated coordinates
* @param x -
* @param y -
* @return ViewAction -
*/
private ViewAction clickXY( final int x, final int y ){
return new GeneralClickAction(
Tap.SINGLE,
new CoordinatesProvider() {
@Override
public float[] calculateCoordinates( View view ){
final int[] screenPos = new int[2];
view.getLocationOnScreen(screenPos);
final float screenX = screenPos[0] + x;
final float screenY = screenPos[1] + y;
return new float[]{screenX, screenY};
}
},
Press.FINGER);
}
/**
* Custom ViewAction to click on dedicated coordinates
* @param x -
* @param y -
* @return ViewAction -
*/
private ViewAction clickXY( final int x, final int y ){
return new GeneralClickAction(
Tap.SINGLE,
new CoordinatesProvider() {
@Override
public float[] calculateCoordinates( View view ){
final int[] screenPos = new int[2];
view.getLocationOnScreen(screenPos);
final float screenX = screenPos[0] + x;
final float screenY = screenPos[1] + y;
return new float[]{screenX, screenY};
}
},
Press.FINGER);
}
public ViewAction clickXY(final float x, final float y){
final DisplayMetrics dm = activityRule.getActivity().getResources().getDisplayMetrics() ;
final float spX = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, x, dm);
final float spY = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, y, dm);
return new GeneralClickAction(
Tap.SINGLE,
new CoordinatesProvider() {
@Override
public float[] calculateCoordinates(View view) {
final int[] screenPos = new int[2];
view.getLocationOnScreen(screenPos);
final float screenX = screenPos[0] + spX;
final float screenY = screenPos[1] + spY;
float[] coordinates = {screenX, screenY};
return coordinates;
}
},
Press.FINGER);
}
public static ViewAction clickOnTop() {
return new GeneralClickAction(Tap.SINGLE, GeneralLocation.TOP_CENTER, Press.FINGER);
}
public static ViewAction clickOnChild(int childViewId) {
return actionWithAssertions((new ChildClickAction(
new GeneralClickAction(Tap.SINGLE, GeneralLocation.VISIBLE_CENTER, Press.FINGER),
childViewId)));
}
public ChildClickAction(GeneralClickAction generalClickAction, int childViewId) {
mGeneralClickAction = generalClickAction;
mChildViewId = childViewId;
}