メインビュー(ボタンまたはテキストビューではない)の背景色を、通常は黒である実際の背景だけに変更したいのですが、次のコードがあります。
view.setBackgroundColor(0xfff00000);
これはOnClickListener
内にありますが、ボタンの背景を変更するだけです。
Activity
のようなメソッドを作成してみてください...
public void setActivityBackgroundColor(int color) {
View view = this.getWindow().getDecorView();
view.setBackgroundColor(color);
}
次に、OnClickListenerから呼び出して、好きな色を渡します。
それがあなたの質問に対する答えであるかどうかはわかりませんが、このようにXMLレイアウトで背景色を設定してみてください。それは簡単です、常に動作します
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="0xfff00000"
>
<TextView
Android:id="@+id/text_view"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="@string/hello"
/>
</LinearLayout>
また、クールで半透明のグラデーションでxmlバックグラウンドファイルを作成することで、バックグラウンドでより凝った作業を行うことができます。他の用途については、以下の例を参照してください。
background.xmlレイアウト
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape>
<gradient
Android:angle="90"
Android:startColor="#f0000000"
Android:endColor="#ff444444"
Android:type="linear" />
</shape>
</item>
</selector>
あなたのレイアウト
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="@layout/background"
>
<TextView
Android:id="@+id/text_view"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="@string/hello"
/>
</LinearLayout>
これを、対応するアクティビティのXMLファイルの1行のコードの下に追加するだけです。
Android:background="@Android:color/black"
確かに役立ちます。
最初の方法
View someView = findViewById(R.id.randomViewInMainLayout);// get Any child View
// Find the root view
View root = someView.getRootView()
// Set the color
root.setBackgroundColor(getResources().getColor(Android.R.color.red));
2番目の方法
SetContentView(...);の後にこの単一行を追加します。
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
第三の方法
背景色をrootViewに設定します
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="#FFFFFF"
Android:id="@+id/rootView"
</LinearLayout>
重要なこと
rootView.setBackgroundColor(0xFF00FF00); //after 0x the other four pairs are alpha,red,green,blue color.
また、メインレイアウトのIDを試して提供し、基本的な操作と取得によってその背景を変更することもできます。例えば:
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/hello"
その後、R.id.helloを介してアクセスします。かなり基本的なもので、これが役立つことを願っています:)
完全なコードをここに置いて、私がお手伝いできるようにしましょう。 XMLでリスナーを設定し、ビューの背景色を変更するようにViewの背景色を呼び出すと、Bottonがurリスナーをurアクティビティに配置し、ビューの色を変更することになります