关闭

Anroid的uiautomator实现控件长按的效果

1104人阅读 评论(0) 收藏 举报
分类:

经过测试,UiObject的longClick无法实现在android.widget.TextView长按的效果。经过查找资料与实际测试,发现原地swipe可以用来模拟长按,代码如下:

	private boolean LongPress(final MatchSelectUI stMatchSelectUI,int nSeconds)
	{
		boolean bRet = false;
		UiObject stUiObject = new UiObject(stMatchSelectUI.CreateUISelector());
		bRet = stUiObject.exists();
		if(true == bRet)
		{
			bRet = false;
			try 
			{
				//longClick无法实现长按
				//bRet = stUiObject.longClick();
				Rect stRect = stUiObject.getVisibleBounds();
				int nPressX = stRect.centerX();
				int nPressY = stRect.centerY();
				
				//100对应着0.5秒
				int nSecondsSteps = 200;
				int nSteps = nSecondsSteps * nSeconds;
				getUiDevice().swipe(nPressX, nPressY, nPressX, nPressY,nSteps);
				bRet = true;
			}
			catch (UiObjectNotFoundException e) 
			{
				// TODO Auto-generated catch block
				DDMSPrint("UiObject.LongPress() 事件 出现异常 UiObjectNotFoundException");
			}
		}

		return bRet;
	}



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1041226次
    • 积分:13327
    • 等级:
    • 排名:第1016名
    • 原创:234篇
    • 转载:644篇
    • 译文:1篇
    • 评论:137条
    最新评论