レイアウト スワイプ UI を実装するのに大きな問題があります。ここでは、各レイアウトがどのように機能するかを示します。私の最初のレイアウト
私の2番目のレイアウト
私の 3 番目のレイアウト
仕組み: ユーザーは画面をタッチしてページを移動でき、レイアウトやページの移動に合わせてインジケーターが移動します。ただし、[サインイン] と [サインアップ] ボタンはその位置に固定されます。このタイプの UI を実装するにはどうすればよいですか。
レイアウト スワイプ UI を実装するのに大きな問題があります。ここでは、各レイアウトがどのように機能するかを示します。私の最初のレイアウト
私の2番目のレイアウト
私の 3 番目のレイアウト
仕組み: ユーザーは画面をタッチしてページを移動でき、レイアウトやページの移動に合わせてインジケーターが移動します。ただし、[サインイン] と [サインアップ] ボタンはその位置に固定されます。このタイプの UI を実装するにはどうすればよいですか。
これは viewFlipper を使用して行うことができますが、これ全体をレイアウトとして使用するトリックがあります。
フレームレイアウトを使用する
重力を下に設定してボタンを落ち着かせる
フレームレイアウトはスタックとして機能することに注意してください最後に配置されたLIFOのもの(ウィジェット/レイアウト)は、xmlでそれらの上に配置されたものを重ね合わせます
たとえば
//したがって、ここではビューに s2 とその下の s1 が表示されます.....
したがって、レイアウトでは、s2 は重力のあるボタンになり、下部 s1 はviewFlipperである必要があります ...
スワイプ
スワイプは onTouch イベントを使用して実現できます
タッチダウンが位置(x1、y1)とonTouchUp(x2、y2)を与えると、if(x2> x1)をチェックするので、viewFlipper.setInAnimation(Animation)viewFlipper.setOutAnimation(Animation)を使用します--なくなるUI用
(x2<x1) の場合も同様に右にスワイプします。
viewFlipper.setInAnimation(アニメーション) viewFlipper.setOutAnimation(アニメーション)
ViewFlow
ソースを確認してくださいの完全な例を次に示します
https://github.com/pakerfeldt/android-viewflow
ここに別の例があります
http://developer.android.com/shareables/training/Animations.zip
スクリーンスライドの実装を参照してください。それがまさにあなたが望むものです。
バーはこんな感じで動きます
Display d= getWindowManager().getDefaultDisplay();
int h=d.getHeight();
int w=d.getWidth();
この h と w を取得した後、スワイプするたびにバーを移動します。ここで、w=上記の方法で計算された画面幅のインクリメント=w/3;
bar_initial_position+=インクリメント;
だから動く..
レイアウトをタッチしてレイアウトを設定することで、3 つの異なるレイアウトとインクリメント カウンターを使用しました。