2016-04-11 9 views
0

アンドロイドのジェスチャーのスワイプ(onFling)機能を使用したいと思います。 (私は絵にデモしたように) プレイヤーが指をどちらの方向にスワイプさせるかは関係なく動作するはずです。 私にリンクを教えてください。または、どのコンポーネントを使用すべきですか? enter image description here別のオブジェクトでスワイプを使用する方法

答えて

0

あなたのジェスチャーが、それがなければならないことを前提に適用するために表示されますので:

  • ジェスチャーは、すべての隣接するビューを含める必要があります。
  • ジェスチャーは
  • ジェスチャーは、他の類似のあなたは「MotionEvent」に読みたいかもしれませんジェスチャー
  • 、およびビューのonTouchリスナーと競合しない単一動き

  • ジェスチャーで直接リニアbegginningと端部を有しています。

    親クラスの単一フラグprivate static View beganOn;(私はアクティビティを想定しています)。次に:

    public void onTouch(View v, MotionEvent m){ 
        if(beganOn!=null){ 
         begaOn = v; 
         return; 
        } else { 
         // Where the view Tag, is an Integer to state what number it is in the sequence. 
         doSelectionOfViews(beganOn.getTag(),v.getTag()); 
         begaOn = null; 
        } 
    } 
    
  • 0

    ジェスチャー検出器のonfling()メソッドをオーバーライドします。これでスワイプの方向を知ることができます。右スワイプと左スワイプの両方向に2つのカウンタを使用してカウントアップします(つまりカウント++)。以下では、その循環標識を作成するためのコードを掲示しています。どちらを強調表示したいかは、インデックスのみを渡す必要があります。

    public void updateIndicator(int currentPage) { 
        image_indicator.removeAllViews(); 
        DotsScrollBar.createDotScrollBar(this, image_indicator, currentPage, 5); 
    } 
    

    ここで、image_indicatorはxmlで定義された線形レイアウトです。

    public static class DotsScrollBar 
    { 
        LinearLayout main_image_holder; 
        public static void createDotScrollBar(Context context, 
          LinearLayout main_holder, int selectedPage, int count) 
        { 
         for (int i = 0; i < count; i++) { 
          ImageView dot = null; 
          dot = new ImageView(context); 
          LinearLayout.LayoutParams vp = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT, 
            LinearLayout.LayoutParams.WRAP_CONTENT); 
          vp.setMargins(8, 8, 8, 8); 
          dot.setLayoutParams(vp); 
          if (i == selectedPage) { 
           try 
           { 
            dot.setImageResource(R.drawable.page_hint_pre); 
           } 
           catch (Exception e) 
           { 
    
           } 
          } else 
          { 
            dot.setImageResource(R.drawable.page_hint_def); 
          } 
          main_holder.addView(dot); 
         } 
         main_holder.invalidate(); 
        } 
    } 
    

    upDateIndicator()メソッドでインデックスを渡して、特定のincatorをハイライト表示させます。

    関連する問題