2017-01-28 1 views
1

アプリケーションのさまざまな場所でテキストを強調表示するためにどのようなグローバルコードを作成する必要があるかお尋ねします。または、強調表示されるすべてのテキスト本文で、色の行をonClickメソッドに追加するだけですか?複数のテキスト行にハイライトテキストを適用する

ご協力いただきありがとうございます。

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     TextView text = (TextView) findViewById(R.id.textView2); 
     text.setOnClickListener(new View.OnClickListener() { 
      @Override public void onClick(View v) { 
       text.setTextColor(Color.GREEN); 
      } 
     }); 
    } 
} 

は、私はすべてのページ/画面上の3件の回答のセットで54点の答えを持っており、それぞれに同じ方法を使用する必要があります。

はちょうどこのコードを見て、私の質問をより具体的には答え - 押されたときに高くなる。私はそれをどうやって適切に行うことができるのだろうか。私がfindViewById(R.id.textView2)に追加する場合。 textView2の直後に別のテキストIDが表示されています。

+0

ようこそスタックオーバーフロー!良い質問をするのを助けるために私たちの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –

+0

あなたの質問には、より具体的なものが必要です。どのコンポーネントを使用していますか?すべてのテキストをすべてのコンポーネントでハイライト表示しますか?これまでに何を試しましたか? – DevilsHnd

答えて

2

これにはtextSelectorを使用する必要があります。

セレクタの書き方については、以下のリンクを参照してください - あなたの場合

Android customized button; changing text color

、テキストの色を選択した後、緑色になりたい場合は、あなたのセレクタは次のようにする必要があります -

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="false" android:color="defalutColor" /> 
    <item android:state_selected="true" android:color="greenColor" /> 
</selector> 

そして、あなたのTextViewには

"を描画可能/ textSelector @" の、textColor =を持っています

コードでは、textViewにOnClickListenerを記述し、OnClickにはtextView.setSelected(true)と指定すると、textColorが緑色になります。

+0

ありがとうたくさんの人!私はあなたのやり方でやろうとします。 – Kubs

関連する問題