android 开发:根据用户点击屏幕位置,作出不同处理。
如题,想实现统计用户点击嵌入的广告联盟
广告次数,决定用户能否继续使用应用。我的思路是用onTouchEvent()判断用户是否点击在广告上,是则变量num加1,否则num减1。问题来了:点击在空白处有反应,点击在广告区域内没有反应。按我的理解可能是广告遮挡了onTouchEvent()。请问如何让onTouchEvent()在满屏幕中都有效。附代码如下:
public class CoordinateDemoActivity extends Activity {
/** Called when the activity is first created. */
private TextView tv;
private int sum=0;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
tv = (TextView) findViewById(R.id.textView1);
//360移动广告位代码
final String adSpaceid = "uuFGkn3iEL";
IMvFloatbannerAd floatbanner = Mvad.showFloatbannerAd(this, adSpaceid, false,
Mvad.FLOAT_BANNER_SIZE.SIZE_DEFAULT, Mvad.FLOAT_LOCATION.BOTTOM);
System.out.println("这里是测试判断点击位置的页面");
}
//在这里实现onTouchEvent
public boolean onTouchEvent(MotionEvent event)
{
// 在这里判断一下如果是按下操作就获取坐标然后执行方法
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
displayXY(event.getX(), event.getY());
}
return super.onTouchEvent(event);
}
//获取到坐标,进行判断
private void displayXY(float x, float y)
{
if (x > 80 && y > 300 && x <200 && y < 600)
{
tv.setText("点中了");
sum=sum+1;
System.out.println("点中了指定区域");
System.out.println(sum);
} else {
tv.setText("x坐标:" + x + " y坐标:" + y);
System.out.println("没点中");
System.out.println(sum);
}
}
}
想弄个图,插不进来。