0

アプリの読み込み時に r=the color of background を変更しようとしています。このために、私は次のようなものを使用しました:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final View view= new View(getApplicationContext());
        view.post(new Runnable() {
            @Override
            public void run() {
                view.setBackgroundColor(Color.BLACK);
            }
        });
        addListenerOnButton();
    }

これは動作しません。以下のエミュレータのスクリーンショットを参照してください。 ここに画像の説明を入力

ご覧のとおり、背景色はまだ白です。これを修正するために私ができることについてのアイデアはありますか?

4

3 に答える 3

2

単純。この方法を試してください。

this.findViewById(android.R.id.content).setBackgroundColor(Color.BLACK);    

例:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    this.findViewById(android.R.id.content).setBackgroundColor(Color.BLACK);
}

ここで現在のアクティビティfindViewById(android.R.id.content)を返します。ContentView次に、このビューの背景を設定できます。これがお役に立てば幸いです。

于 2013-05-22T16:58:59.830 に答える
0

これでうまくいくはずです:

this.findViewById(android.R.id.content).setBackgroundColor(Color.BLACK);  
于 2013-05-22T17:04:51.433 に答える
0

まず、UI スレッドで既に実行されているview.post()ため、必要ありません。onCreate()次に、ビューを作成してその背景を設定していますが、ビューをどこにも設定することはありません。これは描画されない単なるオブジェクトです。2 つの解決策があります。

また:

View view= new View(this);
view.setBackgroundColor(Color.BLACK);
setContentView(view);

または、おそらくより良い:

setContentView(R.layout.activity_main);
View view = findViewById(R.id.root_laout); // set the root_layout in the layout xml file
view.setBackgroundColor(Color.BLACK);
于 2013-05-22T16:50:09.697 に答える