onTouchEvent中,跟随手指滑动的view出现抖动

在这次实践中,它抖动得不正常,太不正常,太抖。

其实是我代码上出现了问题,记录一下。

 

我是怎么设置滑动的呢?

通过改变view的margin。

 

然而我在onTouchEvent中怎么控制它滑动的大小呢?

我获取的是event.getY()。

 

而event.getY()获取的是相对距离,也就是说坐标是相对于我们手指下的那个view来说的,是相对坐标。

而这个view又跟随着手指的滑动,通过改变margin的方式,margin一旦改变,那么坐标也跟着改变,于是getY就出现了异常。

所以我们不应该用getY()。

 

而是要用getRawY()。这个方法是相对于屏幕来说的,是绝对坐标。

Android与JS互相调用

转载请标明出处:http://77blogs.com/?p=281

android开发中有经常需要用到android与H5的交互,有必要学一下。

 

如下图

点击各个按钮代表的意思已经很明显,我就不多说了

 

1、先看一下布局:

 

2、编写html页面,并且放在main下的assets资源文件夹下,没有的话请自己创建

 

3、主程序:

custonAndroid为自定义字段,需要与下面代码中的字段一样。
<input type=”button” value=”Js调用Java代码” onclick=”window.customAndroid.jsCallAndroid()”/>
webView.addJavascriptInterface有安全漏洞(H5可以调用android本地的所有方法),所以4.2以上还需要使用注解来表明那些方法是js可以调用的,接下来会讲。

 

H5中这两个方法的作用

如上html中代码,向id为showmsg的h3大小标题中写入字符串

同上,只是显示的现象变成了android传过去的字符串了。

js调用android:

@JavascriptInterface也就是我上面说的注解,4.2以上必须使用这个注解,否则js无法调用本地的方法。本地方法的名称需要与H5中定义的一样。
实践证明,js调用的方法并不是在主线程中,而是在线程名为JavaBridge的线程中。

当我们点击下面webview中的按钮的时候便会执行这两个方法。