web-dev-qa-db-ja.com

Android:アクティビティの背景色の変更(メインビュー)

メインビュー(ボタンまたはテキストビューではない)の背景色を、通常は黒である実際の背景だけに変更したいのですが、次のコードがあります。

view.setBackgroundColor(0xfff00000);

これはOnClickListener内にありますが、ボタンの背景を変更するだけです。

23
moritzg

Activityのようなメソッドを作成してみてください...

public void setActivityBackgroundColor(int color) {
    View view = this.getWindow().getDecorView();
    view.setBackgroundColor(color);
}

次に、OnClickListenerから呼び出して、好きな色を渡します。

57
Squonk

それがあなたの質問に対する答えであるかどうかはわかりませんが、このように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>
9
youssoua

これを、対応するアクティビティのXMLファイルの1行のコードの下に追加するだけです。

Android:background="@Android:color/black" 

確かに役立ちます。

7
Rakesh Gujari

最初の方法

 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. 
3
Xar E Ahmer

また、メインレイアウトの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を介してアクセスします。かなり基本的なもので、これが役立つことを願っています:)

1
Maciej Musialek

完全なコードをここに置いて、私がお手伝いできるようにしましょう。 XMLでリスナーを設定し、ビューの背景色を変更するようにViewの背景色を呼び出すと、Bottonがurリスナーをurアクティビティに配置し、ビューの色を変更することになります

0
RizN81