Como posso definir a cor de plano de fundo de uma atividade como branca programaticamente?
128
Como posso definir a cor de plano de fundo de uma atividade como branca programaticamente?
Identifique o layout raiz usado e defina a cor do plano de fundo. O layout raiz é o que você chamou de setContentView.
setContentView(R.layout.main);
// Now get a handle to any View contained
// within the main layout you are using
View someView = findViewById(R.id.randomViewInMainLayout);
// Find the root view
View root = someView.getRootView();
// Set the color
root.setBackgroundColor(getResources().getColor(android.R.color.red));
root.setBackgroundColor(getResources().getColor(android.R.color.red));
Adicione esta linha única em sua atividade, após a
setContentView()
chamadafonte
Eu prefiro colorir por tema
fonte
android:windowBackground
é visível primeiro, por um breve momento, e depois a cor do plano de fundo do layout assume o controle. Portanto, se você usar duas cores diferentes, ele piscará na tela.windowBackground
afeta apenas o plano de fundo da janela, mas tambémcolorBackground
afeta todas as visualizações. stackoverflow.com/questions/26266221/...Em outras palavras, "android: background" é a tag no XML que você deseja alterar.
Se você precisar atualizar dinamicamente o valor em segundo plano, consulte o seguinte:
Exercício: Mude a cor de fundo, por SeekBar
fonte
No seu
onCreate()
método:Além disso, você precisa adicionar à pasta de valores um novo arquivo XML chamado
color.xml
e Atribuir uma nova propriedade de cor:color.xml:
Observe que você pode nomear o
color.xml
nome que quiser, mas se refere a ele por código comoR.color.yourId
.EDITAR
Como
getResources().getColor()
está obsoleto, use em seugetWindow().getDecorView().setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.main_activity_background_color));
lugar.fonte
Você pode usar isso para chamar cores android predefinidas:
Se você quiser usar uma de suas próprias cores personalizadas, poderá adicionar sua cor personalizada a strings.xml e, em seguida, usar o abaixo para chamá-lo.
No entanto, se você quiser definir a cor em seu layout.xml, poderá modificar e adicionar o item abaixo a qualquer elemento que a aceite.
fonte
Para obter a visualização raiz definida no seu arquivo xml, sem barra de ação, você pode usar o seguinte:
Então, para mudar a cor para branco:
fonte
trabalhou para mim. obrigado.
fonte
fonte
fonte