Як змінити колір фону в додатку для Android


253

Я хочу мати можливість змінити колір тла на білий в моєму додатку для Android найпростішим способом.

Відповіді:


348

Вам потрібно використовувати властивість android: background, наприклад

android:background="@color/white"

Також потрібно додати значення для білого в strings.xml

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

Редагувати: 18 листопада 2012 року

Перші дві літери 8-літерного кольорового коду забезпечують альфа-значення, якщо ви використовуєте позначення кольорової літери html 6, колір непрозорий.

Наприклад:

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


@Jonny перші дві літери забезпечують альфа-значення.
Раві Вяс

Дякую, але чи не простіше просто скористатися шістнадцятковим значенням?
the_prole

це було б дуже просто, але погана практика :)
Раві Вяс

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

Чи можете ви додати місце /res/layout/activity_main.xmlдля додавання елемента android:backgroundдо відповіді?
030

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));

Це правильна відповідь, оскільки в ній є теми, я вважаю. Однолінійний НЕ найпростіший спосіб, але спосіб поширення всього стилю на все є. Стилі - це те, як ви досягаєте однолінійки з навіть складними змінами. Також стилі працюють над уподобаннями на відміну від загальних атрибутів. (хоча все ще з кількома дивацтвами)
Stephen J

60

Найпростіший спосіб

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

Не потрібно нічого визначати. У ньому використовуються заздалегідь задані кольори android.R.


7
і програмно:context.getResources().getColor(android.R.color.white)
Пашаліс

1
дякую, це було насправді те, що я шукав. У моєму випадку я повинен це робити на Java.
Armfoot

10

Щоб змінити колір фону найпростішим способом програмно (виключно - без змін XML):

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

Єдина вимога полягає в тому, щоб ваш "базовий" елемент у Activity_wever.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>

Це не дуже гарна ідея, оскільки це призведе до зайвого переоцінки GPU (спочатку буде намальовано фон вікна, а потім поверх TextView поверх нього). Дивіться: curious-creature.com/docs/android-performance-case-study-1.html
Miloš Černilovský

3

Найкращий спосіб використання фону з градієнтом, оскільки він не збільшує розмір програми для зображень вашої програми, є отрутою для додатка для Android, тому намагайтеся використовувати його менше, а не використовувати один колір як фон, ви можете використовувати кілька кольорів на одному тлі. введіть тут опис зображення введіть тут опис зображення

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


2

Ви можете спробувати це на xmlаркуші:

android:background="@color/background_color"

1

Щоб змінити фон, скористайтеся цим параметром у макеті.

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" перейти у властивості listview, і ви побачите це.


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:background="#fff"

0

Я хочу мати можливість змінити колір тла на білий в моєму додатку для Android найпростішим способом.

Питання говорить про найпростіший спосіб, так ось воно.

Встановіть 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.