In meiner Android-App, wenn ich Touch Screenen Methoden hinzufügen und ich möchte gleichzeitig die Tastatur mit Onkey-Methode zu lesen, verlor ich nur eine von ihnen.Wie Touchscreen und Tastatur (externe Tastatur) gleichzeitig auf Android 5.1 App verwenden?
Meine Frage ist: Wie kann ich sie beide zur gleichen Zeit verwenden.
hier ist meine Hauptklasse:
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);
}
}
Und ich habe eine Klasse für Touch-Screen, die ich mit Draw-Verfahren testen:
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;
}
}
Ja mein Gerät Unterstützung Multi-Touch. Ich habe eine Lösung gefunden. Es gibt einen einfacheren Weg, es zu benutzen. Ich möchte keinen Text bearbeiten, wenn ich die Tastatur benutze. Ich werde meine Tastatur durch USB-Scanner ersetzen, um die Benutzereingabe (Barcode) zu lesen. Danke dir König! –
Ah schön zu hören, dass Sie eine Lösung gefunden @ Ismaela.D :) –