ビューの背景色(この場合はボタン)を設定しようとしています。
私はこのコードを使います:
// set the background to green
v.setBackgroundColor(0x0000FF00 );
v.invalidate();
ボタンが画面から消えます。何が間違っていますか。また、どのビューでも背景色を変更する正しい方法は何ですか?
ありがとう。
あなたはあなたのボタンを透明にしました。最初のバイトはアルファです。
v.setBackgroundColor(0xFF00FF00);
をお試しください
SetBackgoundColorを呼び出すと、ボーダー、コーナー、パディングなど、既存の背景リソースを上書き/削除します。既存の背景リソースの色を変更するのは...
View v;
v.getBackground().setColorFilter(Color.parseColor("#00ff00"), PorterDuff.Mode.DARKEN);
さまざまな効果についてPorterDuff.Mode。*を試してください。
これを行うためのいくつかの選択肢...
背景を緑色に設定します。
v.setBackgroundColor(0x00FF00);
アルファ :で背景を緑色に設定します。
v.setBackgroundColor(0xFF00FF00);
Color.GREEN定数を使用して背景を緑色に設定します。
v.setBackgroundColor(Color.GREEN);
Colors.xmlで背景を緑に定義します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="myGreen">#00FF00</color>
<color name="myGreenWithAlpha">#FF00FF00</color>
</resources>
そして使用:
v.setBackgroundResource(R.color.myGreen);
そして:
v.setBackgroundResource(R.color.myGreenWithAlpha);
またはより長い翼:
v.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.myGreen));
そして:
v.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.myGreenWithAlpha));
次のようにして、16進数の色を任意のリソースに設定できます。
View.setBackgroundColor(Color.parseColor("#e7eecc"));
// set the background to green
v.setBackgroundColor(0x0000FF00 );
v.invalidate();
コードはボタンを緑色に設定しません。代わりに、ボタンをまったく見えなくします。
説明:色の16進値が間違っています。 Alphaの値が0の場合、色は見えなくなります。
完全な不透明度グリーンの場合、正しい16進値は0xFF00FF00
です。 00からFFの間の任意のアルファ値は透明性を引き起こします。
また、ビューの背景色を変更する正しい方法は何ですか?
On anyView
name__? invalidate()
呼び出しをやめるべきですが、持っているものは正しいです。
ただし、一部のViews
name__には既に背景があります。たとえばButton
name__は、背景がすでにあります。ボタン自体の表面です。この背景はStateListDrawable
name__です。これは、Android SDKインストールのAndroid-2.1/data/res/drawable/btn_default.xml
にあります。それは言い換えれば、複数の濃度で利用可能な9パッチのビットマップ画像の束を指します。あなたはあなたの環境に優しい目標を達成するためにそれらすべてのクローンを作成して修正する必要があるでしょう。
つまり、Button
name__の背景を変更しようとするよりも、別のUIパターンを見つけるほうがよいでしょう。
追加してみてください。
setBackgroundColor(Color.parseColor("#FF0000"));
画面に表示される最初の色を設定するには、関連するViewにこのプロパティを追加して、適切なlayout.xml(より良いデザイン)でそれを行うこともできます。
Android:background="#FF00FF00"
API最小16、ターゲット23で使用します
Button WeekDoneButton = (Button) viewWeeklyTimetable.findViewById(R.id.week_done_button);
WeekDoneButton.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.colorAccent));
簡単に使えます:
view.setBackgroundColor(Color.parseColor("#FFFFFF"));
これは 質問 ビューの背景色を変更することについて話します。ある答えでは、実行時に背景色を変更する方法について説明しています。明らかに、あなたはスクリーン上の他のオブジェクトをどのように修正するかを調べるつもりですが、これは少なくともあなたがボタンクリックでビューの背景色を修正することを可能にすることによってあなたに良いスタートを与えるでしょう。
mButton.setBackgroundColor(getResources().getColor(R.color.myColor));
Android 6以降では、ContextCompatを使用してください。
view.setBackgroundColor( ContextCompat.getColor(this, R.color.your_color));
簡単に使えます:
view.setBackgroundColor(Color.rgb(0, 198, 255));
view.setBackgroundColor(R.color.primaryColor);
前の色の値に色を追加するので、私は違う色になります。
私にとって効果的なのは、
view.setBackgroundResource(R.color.primaryColor);
values=>colors.xml
に原色があるとしましょう:
<resources>
<color name="primary">#FDD835</color>
</resources>
それで、もし私たちのカスタムカラーをsetBackgroundColor(@ColorInt int Color)
に使いたいのなら、コンストラクタ/メソッドを伴うアノテーション@SuppressLint("ResourceAsColor")
が必要です。
@SuppressLint("ResourceAsColor")
public _LinearLayout(Context context) {
super(context);
// Formatting our layout : )
super.setBackgroundColor(R.color.primary);
....
}