1

プログラムでLinearLayoutでTextViewを生成していますが、LinearLayoutでタッチしているときに 、プログラムで生成されたTextViewをホロ効果で表示したいと思います。

for (int i = 1; i <= 10; i++)  {
  LinearLayout linLayout= (LinearLayout) findViewById(R.id.sideIndex);
  TextView tv = new TextView(this);
  tv.setTextColor(getResources().getColor(R.color.white));
// tmpTV.setTypeface(font);
  tv.setText(tmpLetter);
  tv.setGravity(Gravity.CENTER);
  tv.setTextSize(11); 
  tv.setTextColor(getResources().getColor(R.color.holo_green_light));

 LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
 LayoutParams.WRAP_CONTENT,2);

 tv.setLayoutParams(params);

 linLayout.addView(tv);
}

これでHoloTextViewsを見ることができます

tv.setTextColor(getResources()。getColor(R.color.holo_green_light));

しかし、LinearLayoutでオンタッチした後、TextViewでホロ効果を表示したいと思います。

以下のコードは、プログラムで生成されたTextViewの単一インスタンスで正常に機能しますが、ユーザーがLinearLayoutに触れた後、Holoで複数のテキストビューを表示する必要があります。

  linLayout.setOnTouchListener(new OnTouchListener()
    {
        public boolean onTouch(View v, MotionEvent event)
        {
           tv.setTextColor(getResources().getColor(R.color.holo_blue_bright));
            return false;
        }
    });
4

1 に答える 1

1

ホロ背景セレクターを設定する必要があると思いますので、テキストビューは選択/押された/オンフォーカスの状態に応答します。セレクターがホロテーマのどこにあるのか、どのように名前が付けられているのか正確にはわかりませんが、それはそれであるはずです.

于 2012-12-15T16:42:11.640 に答える