0
私はAndroidアプリケーションのアナログ時計からに設定します。このために私はAnalogclock.javaクラスをオーバーライドし、Ontoucheventリスナを確立しました。私はthis methodとthis formulaの順に、得られた座標から時分と分針の角度を計算しました。今私は手を新しい位置に動かすことができます。そして、私は針から新しい角度を取り出すこともできます。これは同じのためのコードです:アンドロイドのアナログ時計で時計の針の角度が分かっている時間を知るには
case MotionEvent.ACTION_MOVE:
x = (int)event.getX();
y = (int)event.getY();
double dx = x - minuteRect.centerX();
double dy = -(y - minuteRect.centerY());
double inRads = Math.atan2(dy,dx);
if (inRads < 0)
inRads = Math.abs(inRads);
else
inRads = 2*Math.PI - inRads;
double newDegree = Math.toDegrees(inRads);
if(isMove()){
setAngle(newDegree);
invalidate();
}
私は今、針がを移動している時間を設定にしたいです。 可能な方法はありますか座標から時間を計算するか、2本の針の間の角度から計算します?
しかし、私は2本の針の間に角度があります。時間の角度を得るために、私が見た式は1/2(60 * Hr + Min)でした。しかし私の場合、私は更新された分を持っていません。私は上記のコードの針とコーディネートの間の角度を時計に合わせます - – JaveDeveloper
あなたの場合、どのようにPI/2が分の角度であることが分かりましたか?時角としてのPIと? – JaveDeveloper
正のy軸を基準(すなわち12時)とし、6時15分の場合は針の角度をpi、針の角度をPI/2とする。 –