重複の可能性:
アンドロイドで線を引く方法
鉛筆を使用して列を一致させる場合と同様に、2 つのオプションを一致させる必要があります。ある列の行をクリックして、その行を他の列の他の適切な行と一致させると、2 つの行の間に線が動的に描画されます。まず、ドラッグアンドドロップ機能を使用しました。しかし、それで動的に線を引くことはできません.どうすれば可能ですか? 提案をお願いします。
重複の可能性:
アンドロイドで線を引く方法
鉛筆を使用して列を一致させる場合と同様に、2 つのオプションを一致させる必要があります。ある列の行をクリックして、その行を他の列の他の適切な行と一致させると、2 つの行の間に線が動的に描画されます。まず、ドラッグアンドドロップ機能を使用しました。しかし、それで動的に線を引くことはできません.どうすれば可能ですか? 提案をお願いします。
両方の行要素の を取得し、Touch Events
それらが一致する場合は、次のコードを使用して水平線を描画します。
canvas.drawLine(10, 10, 90, 10, paint);
canvas.drawLine(10, 20, 90, 20, paint);
編集: Androidで線を引く方法を参照してください
GeoPoints を「スクリーン」ポイントに変換するには、MapView から Projection を使用します。その後、Path を使用して必要な線を描画できます。最初のポイントは path.moveTo(x, y) で指定し、残りは path.lineTo(x, y) で指定する必要があります。最後に canvas.drawPath(path) を呼び出して完了です。
以下は、一連のポイントの周りに多角形を描画する draw() メソッドのコードです。コードで行ったように、 path.close() を使用する必要がないことに注意してください。
public void draw(android.graphics.Canvas canvas, MapView mapView, boolean shadow)
{
if(shadow){
if(isDrawing == false){
return;
}
Projection proj = mapView.getProjection();
boolean first = true;
/*Clear the old path at first*/
path.rewind();
/* The first tap */
Paint circlePaint = new Paint();
Point tempPoint = new Point();
for(GeoPoint point: polygon){
proj.toPixels(point, tempPoint);
if(first){
path.moveTo(tempPoint.x, tempPoint.y);
first = false;
circlePaint.setARGB(100, 255, 117, 0);
circlePaint.setAntiAlias(true);
canvas.drawCircle(tempPoint.x, tempPoint.y, FIRST_CIRCLE_RADIOUS, circlePaint);
}
else{
path.lineTo(tempPoint.x, tempPoint.y);
circlePaint.setARGB(100, 235, 0, 235);
circlePaint.setAntiAlias(true);
canvas.drawCircle(tempPoint.x, tempPoint.y, CIRCLE_RADIOUS, circlePaint);
}
}
/* If indeed is a polygon just close the perimeter */
if(polygon.size() > 2){
path.close();
}
canvas.drawPath(path, polygonPaint);
super.draw(canvas, mapView, shadow);
}
}
2 つの列の間にカスタム ビューを配置し、キャンバスに何でも描画できるようにします。選択に成功したとき。選択した 2 つのビューの境界を取得し、キャンバスを使用して、開始ビューの右端と下端から 2 番目のビューの上端と左端まで線を引きます。