Как изменить цвет фона в приложении для Android


253

Я хочу иметь возможность изменить цвет фона на белый в моем приложении для Android самым простым способом.

Ответы:


348

Вам нужно использовать свойство android: background, например

android:background="@color/white"

Также вам нужно добавить значение для белого в strings.xml

<color name="white">#FFFFFF</color>

Изменить: 18 ноября 2012

Первые две буквы 8-буквенного цветового кода предоставляют альфа-значение, если вы используете html 6-буквенное цветовое обозначение, цвет непрозрачен.

Например:

введите описание изображения здесь


@ Джонни, первые две буквы обеспечивают альфа-значение.
Рави Вьяс

Спасибо, но не проще ли просто использовать шестнадцатеричное значение?
the_prole

это было бы очень легко, но плохая практика :)
Рави Вьяс

3
Его еще проще использовать, android:background="@android:color/white"который предопределен и не требует добавления чего-либо в strings.xml.
Грег Хьюгилл

Не могли бы вы добавить место /res/layout/activity_main.xmlдля добавления элемента android:backgroundв ответ?
0:30

157

Вы также можете использовать

android:background="#ffffff"

в макете XML или /res/layout/activity_main.xml, или вы можете изменить тему в вашем AndroidManifest.xml, добавив

android:theme="@android:style/Theme.Light"

на ваш тег активности.

Если вы хотите изменить фон динамически, используйте

YourView.setBackgroundColor(Color.argb(255, 255, 255, 255));

Это правильный ответ, потому что у него есть темы, я считаю. Однострочник НЕ самый простой способ, но способ распространить весь стиль на все. Стили - это то, как вы достигаете одной линии даже при сложных изменениях. Кроме того, стили работают с предпочтениями, в отличие от общих атрибутов. (хотя все еще с некоторыми странностями)
Стивен Дж.

60

Самый простой способ

android:background="@android:color/white"

Не нужно ничего определять. Он использует предопределенные цвета в android.R.


7
и программно:context.getResources().getColor(android.R.color.white)
Paschalis

1
спасибо, это было на самом деле то, что я искал. В моем случае я должен сделать это на Java.
Armfoot

10

Чтобы изменить цвет фона самым простым способом, доступным программно (исключительно - без изменений XML):

LinearLayout bgElement = (LinearLayout) findViewById(R.id.container);
bgElement.setBackgroundColor(Color.WHITE);

Единственное требование состоит в том, чтобы ваш «базовый» элемент в activity_whwhat.xml имел идентификатор, на который вы можете ссылаться в Java ( containerв данном случае):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/container"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
     ...
</LinearLayout>

Пасхалис и Джеймс, которые ответили здесь, как бы привели меня к этому решению, после ознакомления с различными возможностями в разделе Как установить цвет текста TextView в коде? ,

Надеюсь, это поможет кому-то!


4

Этот метод работал для меня:

RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.layout.rootLayout);
relativeLayout.setBackgroundColor(getResources().getColor(R.color.bg_color_2));

Установить идентификатор в макете XML

xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rootLayout"
android:background="@color/background_color"

Добавить значения цвета / color.xml

<color name="bg_color_2">#ffeef7f0</color>

3

Самый простой способ - добавить android:background="#FFFFFF"основной узел в layout.xml или /res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
   <TextView xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:padding="10dp"
       android:textSize="20sp" 
       android:background="#FFFFFF">
   </TextView>

Это не очень хорошая идея, потому что это приведет к ненужному перерисовыванию графического процессора (сначала будет нарисован фон окна, а затем фон TextView поверх него). Смотрите: curious-creature.com/docs/android-performance-case-study-1.html
Милош Черниловский

3

Лучший способ использовать фон с градиентом, так как он не увеличивает размер приложения, - это яд для приложения для Android, поэтому старайтесь использовать его меньше, вместо использования одного цвета в качестве фона, вы можете использовать несколько цветов на одном фоне. введите описание изображения здесь введите описание изображения здесь

введите описание изображения здесьвведите описание изображения здесь


2

Вы можете попробовать это в xmlлисте:

android:background="@color/background_color"

1

В Layout, чтобы изменить фон, используйте это.

android:background="@color/your_color"

В Программе можно использовать это. Например: цвет фона Texview

 TextView tvName = (TextView) findViewById(R.id.tvName);
 tvName.setBackgroundColor(getResources().getColor(R.color.your_color));


0

Другой способ - перейти к макету -> .xml-файл -> представление дизайна. Затем перейдите в дерево компонентов и выберите макет, для которого необходимо изменить цвет. В нижнем дереве компонентов есть раздел свойств. Выберите фон в разделе свойств (в разделе изображения 1). Затем нажмите раздел 2 на картинке. Тогда откроется окно Ресурсы. Из этого меню выберите цвет. Затем выберите нужный цвет. введите описание изображения здесь


0

Вы можете использовать простые цветовые ресурсы, указанные обычно внутри

res/values/colors.xml.

использование

<color name="red">#ffff0000</color>

и использовать это через android:background="@color/red". Этот цвет также может использоваться где угодно, например, как цвет текста. Ссылать его в XML аналогичным образом или получить в коде через

getResources().getColor(R.color.red).

Вы также можете использовать любой ресурс android:background="@drawable/mydrawable"для рисования в качестве фона, используйте для этого (это означает, что можно рисовать 9 патчей, обычные растровые изображения, рисовать фигуры, ...).


0

Иногда текст имеет тот же цвет, что и фон, попробуйте с помощью android: background = "# CCCCCC" в свойствах списка и вы увидите это.


0

android: background = "# 64B5F6"
Вы можете изменить значение после '#' в соответствии со своими спецификациями или необходимостью в зависимости от того, как вы хотите их использовать.
Вот пример кода:

<TextView
        android:text="Abir"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:background="#D4E157"  />

Спасибо :)


0
  1. перейти к Activity_Main.xml
  2. Есть вид дизайна / и текстовый вид.
  3. выберите вид текста
  4. запишите этот код:

    android:background="@color/colorAccent"

0

Если вы хотите добавить цвет фона для всей деятельности

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#1de9b6"
    tools:context="com.example.abc.myapplication.MainActivity">
 </RelativeLayout>

Если вы хотите использовать фон для просмотра

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Andrios"
    android:background="@color/colorAccent" />

Надеюсь это поможет!



0

Я хочу иметь возможность изменить цвет фона на белый в моем приложении для Android самым простым способом.

На вопрос написано Simplest Way, так что вот оно.

Установите parentViewStyleво всех ваших родительских просмотров. Как и большинство родительских просмотров вашей активности, фрагментов и диалогов.

<LinearLayout style="@style/parentViewStyle">

  ... other components inside

</LinearLayout>

Просто поместите этот стиль внутри res>values>styles.xml

<style name="parentViewStyle">
    <item name="android:layout_height">match_parent</item>
    <item name="android:layout_width">match_parent</item>
    <item name="android:background">@color/white</item> // set your color here.
    <item name="android:orientation">vertical</item>
</style>

Таким образом, вам не нужно много раз менять цвет фона в будущем.


0

Для Котлина и не только, когда пишешь

@цвет/

Вы можете выбрать все, что хотите, быстро и просто:

android:background="@color/md_blue_900"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.