Как можно задать цвет фона для операции в белый цвет программно?Как установить фоновый цвет действия на белый программным путем?
ответ
Получить дескриптор корневого макета используется, а затем установить цвет фона на этом. Корневая компоновка - это то, что вы назвали 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));
?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/myScreen"
</LinearLayout>
Другими словами, «android: background» - это тег в XML, который вы хотите изменить.
Если вам нужно динамически обновлять фоновое значение, видит следующее:
Я предпочитаю расцветку по теме
<style name="CustomTheme" parent="android:Theme.Light">
<item name="android:windowBackground">@color/custom_theme_color</item>
<item name="android:colorBackground">@color/custom_theme_color</item>
</style>
В чем разница между windowBackground и colorBackground? –
Просто установите windowBackground, и он отлично работает. Какая польза от colorBackground? – codezjx
@ AlikElzin-kilaka: разница в том, что при запуске приложения «андроид: windowBackground» виден сначала, на короткое время, а затем цвет фона макета берет верх. Поэтому, если вы используете два разных цвета, он будет мерцать на экране. – GoTo
Добавить одну строку в вашей деятельности, после setContentView()
вызова
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
Этот ответ на самом деле более правильный, чем принятый. – EvilDuck
согласен. это изменяет цвет окна до того, как применяется корневой макет, принятый ответ изменяет цвет корневого элемента в макете активности. – LairdPleng
Я думаю, что это должно быть правильно, если вы просто хотите установить цвет фона Мероприятия. – shanwu
Вы можете использовать эту функцию для вызова предустановленные андроид цвета:
element.setBackgroundColor(android.R.color.red);
Если вы хотите использовать один из своих собственных цветов, вы можете добавить свой собственный цвет в strings.xml, а затем использовать нижеследующее для его вызова.
element.setBackgroundColor(R.color.mycolour);
Однако, если вы хотите, чтобы установить цвет в вашем layout.xml вы можете изменить и добавить ниже к любому элементу, который принимает его.
android:background="#FFFFFF"
Если я использую первый метод, я получаю предупреждение о том, что на самом деле его можно получить следующим образом: getResources(). GetColor (android.R.color.black); –
Чтобы получить представление корня, определенный в файле XML, без панели действий, вы можете использовать это:
View root = ((ViewGroup) findViewById(android.R.id.content)).getChildAt(0);
Таким образом, чтобы изменить цвет на белый:
root.setBackgroundResource(Color.WHITE);
Да, это сработало! –
View randview = new View(getBaseContext());
randview = (View)findViewById(R.id.container);
randview.setBackgroundColor(Color.BLUE);
работал для меня. Спасибо.
Этот ответ находится в очереди просмотра сообщений низкого качества, потому что это просто код без объяснений. Пожалуйста, улучшите свой ответ, объяснив, что делает ваш код и как он отвечает на вопрос. Пожалуйста, прочитайте [этот совет, чтобы ответить на вопросы программирования) [http://msmvps.com/blogs/jon_skeet/archive/2009/02/17/answering-technical-questions-helpfully.aspx). –
Приятно, что это четко задает фон синему, а не белому по требованию. –
final View rootView = findViewById(android.R.id.content);
rootView.setBackgroundResource(...);
В вашем onCreate()
метод:
getWindow().getDecorView().setBackgroundColor(getResources().getColor(R.color.main_activity_background_color));
Также вам нужно добавить в папку значений новый файл XML с именем color.xml
и Назначают там новый цвет собственности:
color.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="main_activity_background_color">#000000</color>
</resources>
Обратите внимание, что вы можете назвать color.xml
любое имя, которое вы хотите, но вы ссылаетесь на него по коду как R.color.yourId
.
EDIT
Поскольку getResources().getColor()
является устаревшим, используйте вместо getWindow().getDecorView().setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.main_activity_background_color));
.
Button btn;
View root;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
root =findViewById(R.id.activity_main).getRootView();
root.setBackgroundColor(Color.parseColor("#FFFFFF"));
}
});
}
- 1. Как установить фоновый цвет заготовки?
- 2. Как изменить цвет текста предпочтений программным путем?
- 3. Как установить фоновый цвет пользовательского интерфейса WebStorm?
- 4. Как изменить цвет в изображении программным путем?
- 5. Как установить фоновый цвет нового действия после нажатия вкладок
- 6. Как получить цвет акцента программным путем?
- 7. Установить изображение программным путем на кнопке
- 8. Установить произвольное местоположение программным путем
- 9. Как установить цвет ячеек программным образом epplus?
- 10. Как получить/установить текущее местоположение программным путем?
- 11. Как установить фон для просмотра программным путем?
- 12. Xcode удаляет цвет из изображения программным путем?
- 13. Как установить фоновый цвет JButton в Java?
- 14. Как установить фоновый цвет вокруг текста?
- 15. Невозможно установить UIPickerView dataSource/делегировать программным путем
- 16. Как установить фоновый цвет reapeater td динамически
- 17. Как установить фоновый цвет списка в j2me
- 18. Как установить фоновый цвет D3.js svg?
- 19. Как установить фоновый цвет на <hr> тег?
- 20. Как установить цвет переднего плана консольного приложения на «яркий белый»?
- 21. Как установить пиксель в растровый рисунок на белый цвет?
- 22. Как показать представление программным путем
- 23. Как исправить фоновый цвет?
- 24. Как перевести белый цвет на цвет фона изображения в flex?
- 25. Программным создал UITableView всегда белый iOS9
- 26. Создание градиентов программным путем?
- 27. Установить фоновый цвет с непрозрачностью краха navbar
- 28. Почему фоновый рисунок меняется на белый?
- 29. Установить фоновый цвет .xib запустить изображение фона
- 30. Программным установить цвет формы в растяжимой
Когда я это делаю, Eclipse помещает его в «Должен передать разрешенный цвет вместо идентификатора ресурса здесь: getResources(). GetColor (android.R.color.red)». – joriki
Изменить последнюю строку на 'root.setBackgroundColor (getResources(). GetColor (android.R.color.red));' –
Этот ответ работает; но он по-прежнему не является полностью программным в соответствии с вопросом. Я бы предложил ответить Арункумару ниже. – KVISH