资讯详情

如何捕捉压力和面积超过触摸屏android

我正在使用Android 3.2.1宏基A500(电容屏)10我试图在平板电脑上捕捉触摸屏的手指区域力。Motionevent.getsize(),我总是得到0的值。另外,Motionevent.getpressure()总是给我1的值。 ),和getEventTime()似乎工作的罚款。如何捕捉超过触摸屏的压力和面积android

我缺少什么?我还需要做什么?

任何帮助都将大大感激ated。

以下是代码:

package com.mygroup.myapp;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

import android.util.Log;

import android.view.MotionEvent;

import android.view.View;

import android.view.View.OnTouchListener;

public class MultiTouchTest extends Activity implements OnTouchListener{

StringBuilder builder = new StringBuilder();

TextView textView;

float[] x = new float[10];

float[] y = new float[10];

double[] p = new double[10];

float[] s = new float[10];

long[] t = new long[10];

boolean[] touched = new boolean[10];

private void updateTextView(){

builder.setLength(0);

for (int i = 0; i < 10; i ){

builder.append(touched[i]);

builder.append(", ");

builder.append(x[i]);

builder.append(", ");

builder.append(y[i]);

builder.append(", pressure = ");

builder.append(p[i]);

builder.append(", size = ");

builder.append(s[i]);

builder.append(", time = ");

builder.append(t[i]);

builder.append("\n");

}

textView.setText(builder.toString());

}

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

textView = new TextView(this);

textView.setText("touch:");

textView.setOnTouchListener(this);

setContentView(textView);

}

//@Override

public boolean onTouch(View v, MotionEvent event){

int action = event.getAction() & MotionEvent.ACTION_MASK;

int pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >>

MotionEvent.ACTION_POINTER_INDEX_SHIFT;

int pointerId = event.getPointerId(pointerIndex);

switch(action){

case MotionEvent.ACTION_DOWN:

case MotionEvent.ACTION_POINTER_DOWN:

touched[pointerId] = true;

x[pointerId] = (int)event.getX(pointerIndex);

y[pointerId] = (int)event.getY(pointerIndex);

p[pointerId] = event.getPressure(pointerIndex);

s[pointerId] = event.getSize(pointerIndex);

t[pointerId] = event.getEventTime();

break;

...

}

updateTextView();

return true;

}

}

0

电容屏不能,根据设计,给你一点压力。它只能给你一个位置和一个重量(即应用表面的比例)。mm2给单位一个准确的曲面,但可以联系起来。只有电阻触摸屏才能给你施加压力,在触摸事件中有很好的效果dpi精度。 HTH –

2012-10-30 09:29:25

0

理查德马丁,我也有同样的问题。我的一些电容设备给了我不同的(真实的)尺寸,但其他设备总是0.003921569。你赢了这个问题吗? –

2014-05-19 15:26:45

标签: new分压电阻

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台