2016-06-12 20 views
0

私は似たようなことをする必要があります。私はあなたの指でそれらを後に行くときに色を変更する5 TextViewがあります。ビデオの明瞭さへのリンクを追加します。 a link!それを行う方法を教えてください?TextViewの色を変更してから変更してください。

+0

、ジェスチャー検出器のいくつかの種類を使用し、指の座標を把握し、彼らはTextViewのエリアにいる場合を計算してみてください。それは単なる基本的な考えです。 Googleはジェスチャー検出器とそのメソッドをさらに使います。 – Vucko

答えて

0

使用

 text1.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       text1.setTextColor(Color.parseColor("#dedede")); 
       text2.setTextColor(Color.parseColor("#800080")); 
       text3.setTextColor(Color.parseColor("#800080")); 
       text4.setTextColor(Color.parseColor("#800080")); 
       text5.setTextColor(Color.parseColor("#800080")); 
       return true; 
      } 
     }); 


text2.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       text1.setTextColor(Color.parseColor("#800080")); 
       text2.setTextColor(Color.parseColor("#dedede")); 
       text3.setTextColor(Color.parseColor("#800080")); 
       text4.setTextColor(Color.parseColor("#800080")); 
       text5.setTextColor(Color.parseColor("#800080")); 
       return true; 
      } 
     }); 

text3.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       text1.setTextColor(Color.parseColor("#800080")); 
       text2.setTextColor(Color.parseColor("#800080")); 
       text3.setTextColor(Color.parseColor("#dedede")); 
       text4.setTextColor(Color.parseColor("#800080")); 
       text5.setTextColor(Color.parseColor("#800080")); 
       return true; 
      } 
     }); 


text4.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       text1.setTextColor(Color.parseColor("#800080")); 
       text2.setTextColor(Color.parseColor("#800080")); 
       text3.setTextColor(Color.parseColor("#800080")); 
       text4.setTextColor(Color.parseColor("#dedede")); 
       text5.setTextColor(Color.parseColor("#800080")); 
       return true; 
      } 
     }); 


text5.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       text1.setTextColor(Color.parseColor("#800080")); 
       text2.setTextColor(Color.parseColor("#800080")); 
       text3.setTextColor(Color.parseColor("#800080")); 
       text4.setTextColor(Color.parseColor("#800080")); 
       text5.setTextColor(Color.parseColor("#dedede")); 
       return true; 
      } 
     }); 
+0

これは、他のすべてをクリックして変更した場合にのみ機能します。私はそれがそのビデオにあるのとまったく同じようにする必要があります。 –

+0

@RomanBranislavビデオでは、テキストビューをタッチすると色も変わります。自動的にそれをしたい場合は、スレッド(runOnUithread)をループで使用してください。 –

0

あなたActivity/FragmentView.OnTouchListenerを実装します。 onTouchメソッドで、現在どのTextViewがタッチされているかを確認します。ハイライトカラーを設定し、他のハイライトカラーを削除します。

擬似コード -

@Override 
public boolean onTouch(View v, MotionEvent event) { 
    // Loop through TextViews 
    for (int i = 0; i < 5; i++) { 
     if(v.equals(textViews[i])) { 
      textViews[i].setTextColor(R.color.my_highlight_color); 
     } else { 
      textViews[i].setTextColor(R.color.my_color); 
     } 
    } 

    return true; 
} 
関連する問題