Android TextView
の背景色をプログラムで設定しても機能しないようです。私は何かが欠けています!
TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);
また、res/valuesフォルダーにこのファイル(colors.xml)があります
<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");
et.setBackgroundResource(R.color.white);
を使用します
これを試して:
TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");
色とリソースが同じタイプであることに同意しますが、この解決策を見つけるのに数時間も費やします。
赤い色を設定するには:
textView.setBackgroundColor(0xfff00000);
または
<color name="solid_red">#fff00000</color>
textView.setBackgroundResource(R.color.solid_red);
主要なアルファチャンネルを考慮せずに数値の色を作成する場合、同様の問題がありました。すなわち。 mytext.setTextColor(0xFF0000)
(これは赤だと思う)。これは赤色ですが、it = 0x00FF0000;
としても100%透明です。正しい100%の不透明な値は0xFFFF0000
またはmytext.setTextcolor(0xFFFF0000)
です。
この1行のコードだけで、プログラムでバックグラウンドが変更されました
tv.setBackgroundColor(Color.parseColor("#808080"));
Webサービスが "#CC2233"のような16進形式で色を返し、setBackGroundColor()を使用してこの色をtextViewに配置したかったため、Android Colorクラスを使用してint値を取得しました16進数の文字列を指定の関数に渡します。すべてがうまくいきました。これは例です:
String myHexColor = "#CC2233";
TextView myView = (TextView) findViewById(R.id.myTextView);
myView.setBackGroundColor(Color.pasrsehexString(myHexColor));
追伸他の解決策がうまくいかなかったので、この回答を投稿しました。これが誰かを助けることを願っています:)
正しく実行する手順は次のとおりです。
まず、MainActivity.JavaでTextViewのインスタンスを次のように宣言します。
TextView mTextView;
次のようにいくつかのテキストを動的に(必要に応じて)設定します。
mTextView.setText("some_text");
ここで、背景色を設定するには、次のようにres-> values-> colors.xmlファイルで独自の色を定義する必要があります。
<resources>
<color name="my_color">#000000</color>
</resources>
Javaファイルで「my_color」色を使用して、次のように背景を動的に設定できるようになりました。
mTextView.setBackgroundResource(R.color.my_color);
ここでは少し詳しく説明しますが、
活動中の場合はこれを使用してください
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
tv.setTextColor(getResources().getColor(R.color.solid_red));
Color.parseHexColor("17ee27")
は機能しませんでしたが、代わりにColor.parseColor("17ee27")
は完全に機能しました。
それを行う2つの方法:
1.colors.xmlファイルに次のような色を作成します。
<resources>
<color name="white">#ffffff</color>
</resources>
intアクティビティJavaクラスを次のように使用します。
et.setBackgroundResource(R.color.white);
2。
et.setBackgroundColor(getResources().getColor(R.color.white));
or
et.setBackgroundColor(Color.parseColor("#ffffff"));
すべてのバージョンをサポートする場合は、次を実行します。
myTextView.setBackgroundColor(ContextCompat.getColor(this、R.color.mycolor));
ジュート使用
ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this,
Android.R.layout.simple_dropdown_item_1line, your array list);