2010-12-04 5 views
0

hereのコードをご覧ください。アンドロイドで 'キャリブレート可能な'方向リスナを実装する方法は?

上記のコードでコードを要約すると、コードはインターフェイス 'OrientationListener'と 'a'クラス 'OrientationManager'を宣言します。 'OrientationManager'は、 'OrientationListenor'、 'onTopUp()'、 'onRightUp()'、 'onBottomUp()'、および 'onLeftUp()'のフェアデカールされたメソッドの1つを 'SensorEvent'デバイスの上、右、下、または左の面が上を向いています。

これは、デバイスのxy座標が地面と平行になるようにユーザーが自分のデバイスのみを使用していると仮定すると効果的です。実際には、ユーザーは天使が座っているとき、または電話を逆さまにして寝かせたときにデバイスを使用するのが普通です。

このコードを変更して、ユーザーが自分の電話機を「調整」できるようにするにはどうすればよいですか?

ヘルプは非常に高く評価されています。

答えて

0

@Gallal、前の質問でこの質問の回答が既にあると思いますか?

ただし、ここで説明した問題(つまり、どちらの側が「上」であるかを判断する)では、回転行列ではなく加速度計の読み取り値を使用することを検討することがあります。再度、あなたのaccelsをCalibrateで読んで、読んだ3つの重力成分をAxi, Ayi, Aziとして保存してください。さて、デバイスが常に "表向き"であると仮定すると、現在の加速度の読みを最初のものと比較して、どちらの面が上に移動したか(重力成分がより小さくなったか)、どちらの面が下になったか重力成分が大きくなった場所)。

関連する問題