私のアンドロイドアプリでは、タッチスクリーンメソッドを追加するときに、同じキーボードをonkeyメソッドで読みたいと思っています。アンドロイド5.1アプリでタッチスクリーンとキーボード(外付けキーボード)を同時に使用する方法は?
私の質問は:どのように私はそれらを同時に使用することができます。ここ
は私のメインクラスです:
public class SingleTouchActivity extends AppCompatActivity {
EditText edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_single_touch);
setContentView(new SingleTouchEventView(this, null));
edit= (EditText) findViewById(R.id.editText);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_0){
edit.setText("here we go");
}
return super.onKeyDown(keyCode,event);
}
}
と私はdrawメソッドをテストするタッチスクリーンのためのクラスを持っている:
public class SingleTouchEventView extends View {
private Paint paint = new Paint();
private Path path = new Path();
public SingleTouchEventView(Context context, AttributeSet attrs) {
super(context, attrs);
this.setFocusable(true);
paint.setAntiAlias(true);
paint.setStrokeWidth(6f);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(eventX, eventY);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(eventX, eventY);
break;
case MotionEvent.ACTION_UP:
// nothing to do
break;
default:
return false;
}
// Schedules a repaint.
invalidate();
return true;
}
}
はい、私のデバイスサポートマルチタッチを拡張します。私は解決策を見つけました。それを使うもっと簡単な方法があります。私はキーボードを使用するときにテキストを編集したくない。私はユーザーの入力(バーコード)を読むためにusbスキャナでキーボードを置き換えます。あなたに王様ありがとう! –
あなたは@ Ismaela.Dのソリューションを見つけたと聞いてうれしいです:) –