当前位置: 代码迷 >> Android >> 请问:关于onTouchEvent的压感参数
  详细解决方案

请问:关于onTouchEvent的压感参数

热度:99   发布时间:2016-05-01 22:17:48.0
请教:关于onTouchEvent的压感参数
效果:根据压感动态平滑地改变绘制曲线的粗细。

我在测试onTouchEvent的压感系数,于是做个了画图的例子来测试,感觉这个event.getPressure();的系数变化比较大,而且我不太清楚这个系数是依据什么变化的,虽然说用力touch和轻touch系数差别挺大的,但是效果有时候会突然从比较大变成很小,就是大小变化比较明显,不平滑。

我绘制了历史点,并且每次move时在每个历史点里都对paint对象做了setStrokeWidth的改变,然后invalidate(笔迹区域)。

因为不了解压感系数,所以简单做了个结合系数的转换:
Java code
    private float getEventPress(float press){        //压感系数一般都是在0.05~0.25,通常用力基本是0.15左右        //mSettingWidth是默认值,5        float width = mSettingWidth +(press*100-15);//press是ontouchevent中event.getPress出来的//        Log.i(TAG,"press:"+press+",width:"+width);        return width;    }

我现在比较迷惑的就是这个计算width的公式,不清楚怎么去调整能比较平滑。
大家给些建议,多谢~

------解决方案--------------------
event.getPressure(nID); //LCD可以感应出用户的手指压力,当然具体的级别由驱动和物理硬件决定的
Android多点触控开发原理
压力还与硬件和驱动的设置有关,可能在不同的机器上,那就不一样了,一千个人眼里有一千个哈姆雷特了。
------解决方案--------------------
研究好深
------解决方案--------------------
我还是菜鸟,等待高手