2

Android アプリで、ホイール型デバイス (または円グラフ型または円型) に基づくユーザー インターフェイス ナビゲーション コントロール メカニズムの実装に関心があります。

いつでもホイールの半分だけが表示されるようにします。つまり、ホイールの下半分は画面の境界より下にある必要があるため、ホイールの上半分のみが表示されます。次に、ユーザーは「ハーフ ホイール」を回して、画面の境界線で隠れているオプションを表示できます。次に、表示されている上半分を円グラフのように 3 つの部分に分割する必要があります。これにより、ユーザーはそのいずれかを押して何らかのアクションを呼び出すことができます。次の図で説明します (7 つの (AG) オプションを使用した例です)。

http://imgur.com/lNu1F

回転自体は難しくないはずですが、ホイールの半分が実際の画面の外に出るようにホイールを配置する方法を理解するのに苦労しています. ホイール全体をロードする (ただし、半分を非表示にする) のが最適であると考えています。これは、私が持っているグラフィックであり、ユーザーがスワイプして他のオプションを表示するときにスムーズなアニメーションも可能にするためです。このようにAndroidにホイールを表示させるにはどうすればよいですか?

また。「ホイール形状に沿ったスワイプ」の実装方法に関するコメントをいただければ幸いです。

ありがとうございました。

4

1 に答える 1

1

ホイールの場合、XML を使用してオブジェクトを整列させており、存在しない「オブジェクトの中心を下に合わせる」などを使用したいため、ホイールの配置方法を理解するのに苦労しています。うまくいく可能性のあるアプローチの 1 つを次に示します。ホイール ビューをマスクします。

Androidでビューをマスクすることは可能ですか?

ホイールをスワイプする場合は、タッチ イベントを取得するためにホイールを登録し、移動イベントの水平コンポーネントのみを使用してホイールの回転に適用します。このセットアップは、ノブを使用するオーディオ ソフトウェアで一般的です。

ただし、より現実的な方法でユーザーの指に貼り付けたい場合は、次の操作を行う必要があります。

  1. ユーザーが最初にホイールに触れたとき、ホイールの中心から指までの角度を計算します。

  2. 指が動くたびに、ホイールの中心から指までの角度を確認し、最後のタッチ イベントからの角度の変化量だけホイールを回転させます。

2 点間の角度を取得する式は次のとおりです。

Float angleInRadians = Math.atan2(point1.y-point2.y, point1.x-point2.x);
于 2012-10-02T16:51:19.490 に答える