176

アンドロイドのプログラムで背景色を設定することTextViewはうまくいかないようです。何かが足りない!

TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);

このファイル(colors.xml)もres/valuesフォルダーにあります

<resources>
        <color name="white">#ffffffff</color>
        <color name="black">#ff000000</color>
</resources>

[編集]:また、テキストの色を設定すると、TextViewが消えます。

TextView c1 = new TextView(activity);
c1.setTextColor(R.color.solid_red);
c1.setText("My Text");
4

16 に答える 16

353

使用するet.setBackgroundResource(R.color.white);

于 2009-09-23T16:33:52.507 に答える
77

これを試して:

TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");

色とリソースが同じタイプであることに同意しますが、この解決策を見つけるためにも数時間を費やしています。

于 2010-01-21T21:10:16.067 に答える
65

赤い色を設定するには:

textView.setBackgroundColor(0xfff00000);

または

<color name="solid_red">#fff00000</color>

textView.setBackgroundResource(R.color.solid_red);
于 2011-03-18T09:43:11.073 に答える
20

主要なアルファチャネルを考慮せずに数値色を作成していた場合にも、同様の問題が発生しました。すなわち。 mytext.setTextColor(0xFF0000)(これは赤だと思います)。これは赤色ですが、it = 0x00FF0000; 正しい100%不透明値は0xFFFF0000またはであるため、100%透明でもありmytext.setTextcolor(0xFFFF0000)ます。

于 2011-03-18T12:45:58.360 に答える
12

この1行のコードだけで、プログラムによって背景が変更されました

tv.setBackgroundColor(Color.parseColor("#808080"));
于 2014-08-04T11:06:31.067 に答える
8

Webサービスが「#CC2233」のような16進形式の色を返し、setBackGroundColor()を使用してこの色をtextViewに配置したいという状況があったので、android Colorクラスを使用して16進文字列のint値を取得し、に渡しました。言及された機能。すべてがうまくいった。これは例です:

String myHexColor = "#CC2233";
TextView myView = (TextView) findViewById(R.id.myTextView);
myView.setBackGroundColor(Color.pasrsehexString(myHexColor));

他の解決策が私にはうまくいかなかったので、PSはこの答えを投稿しました。これが誰かに役立つことを願っています:)

于 2013-01-09T14:27:46.420 に答える
6

ここに少し詳細があります、

活動中の場合はこれを使用してください

textview.setBackground(ContextCompat.getColor(this,R.color.yourcolor));

フラグメントを使用している場合は、以下のコードを使用してください

textview.setBackground(ContextCompat.getColor(getActivity(),R.color.yourcolor));

recyclerviewアダプターを使用している場合は、以下のコードを使用してください

textview.setBackground(ContextCompat.getColor(context,R.color.yourcolor));

// use holder.textview if you are in onBindviewholder
//here context is passed from fragment
于 2017-06-13T14:40:00.020 に答える
4
tv.setTextColor(getResources().getColor(R.color.solid_red));
于 2013-06-10T05:46:44.573 に答える
4

これを正しく行うための手順は次のとおりです。

  1. まず、MainActivity.javaでTextViewのインスタンスを次のように宣言します。

    TextView mTextView;
    
  2. 次のように動的に(必要に応じて)テキストを設定します。

    mTextView.setText("some_text");
    
  3. ここで、背景色を設定するには、res->values->colors.xmlファイルで次のように独自の色を定義する必要があります。

    <resources>
        <color name="my_color">#000000</color>
    </resources>
    
  4. これで、Javaファイルで「my_color」カラーを使用して、次のように背景を動的に設定できます。

    mTextView.setBackgroundResource(R.color.my_color);
    
于 2015-03-09T12:08:36.927 に答える
3

Color.parseHexColor("17ee27")私にはうまくいきませんでしたが、代わりColor.parseColor("17ee27")に完璧に機能しました。

于 2013-04-09T07:12:06.883 に答える
3

それを行う2つの方法:

1.次のようにcolors.xmlファイルに色を作成します。

<resources>
        <color name="white">#ffffff</color>
</resources>

そしてそれをintactivityjavaクラスとして次のように使用します。

et.setBackgroundResource(R.color.white);

2.2。

et.setBackgroundColor(getResources().getColor(R.color.white));
                or
et.setBackgroundColor(Color.parseColor("#ffffff"));
于 2013-05-31T04:51:42.797 に答える
2

すべてのバージョンをサポートしたい場合:これを試してください:

myTextView.setBackgroundColor(ContextCompat.getColor(this,R.color.mycolor)); 
于 2017-04-26T08:57:41.107 に答える
1

ジャット使用

ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this,
            android.R.layout.simple_dropdown_item_1line, your array list);
于 2012-10-13T21:10:43.897 に答える
0

リソースから色を設定するには、次の手順に従います。

textView.setBackgroundColor(getResources().getColor(R.color.ButtonColorRed));

ここで、ButtonColorRedはカラーリソースのカラー名です

于 2021-03-16T10:18:07.420 に答える
0

上記の解決策を試しても機能しない場合は、TextView xmlを確認し、android:backgroundを削除してください(et.setBackGroundColor(R.color.yourcolor)と重複する可能性があります)

于 2021-09-21T16:57:12.830 に答える
-11

android:textColor= "テキストビューが宣言されているxmlファイルで「与えたいテキストの色」を使用できます。

于 2010-02-17T12:29:46.443 に答える