Android: изменение цвета фона действия (основной вид)

java android colors

111744 просмотра

6 ответа

Я хочу изменить цвет фона моего основного вида (не Button или Text-View), просто реальный фон, который обычно черный ... Я получил этот код:

view.setBackgroundColor(0xfff00000);

Это внутри OnClickListener, но это просто меняет фон кнопки.

Автор: moritzg Источник Размещён: 12.11.2019 09:12

Ответы (6)


57 плюса

Решение

Попробуйте создать метод в вашем Activityчто-то вроде ...

public void setActivityBackgroundColor(int color) {
    View view = this.getWindow().getDecorView();
    view.setBackgroundColor(color);
}

Затем вызовите его с вашего OnClickListener, передавая любой цвет, который вы хотите.

Автор: Squonk Размещён: 22.01.2012 12:42

9 плюса

Я не знаю, является ли это ответом на ваш вопрос, но вы можете попробовать установить цвет фона в xml-макете следующим образом. Это легко, это всегда работает

<?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="0xfff00000"

  >


<TextView

    android:id="@+id/text_view"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />



</LinearLayout>

Вы также можете сделать более причудливые вещи с фонами, создав xml-файл фона с градиентами, которые будут классными и полупрозрачными, и обратитесь к нему для другого использования, см. Пример ниже:

макет background.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape>
        <gradient
            android:angle="90"
            android:startColor="#f0000000"
            android:endColor="#ff444444"
            android:type="linear" />
    </shape>
</item>
</selector>

ваш макет

<?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="@layout/background"


    >


<TextView

    android:id="@+id/text_view"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />



</LinearLayout>
Автор: youssoua Размещён: 22.01.2012 01:48

7 плюса

Просто добавьте следующий код в одну строку в XML-файл соответствующего действия:

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

это поможет вам точно.

Автор: Rakesh Gujari Размещён: 15.02.2014 12:09

3 плюса

Первый метод

 View someView = findViewById(R.id.randomViewInMainLayout);// get Any child View

  // Find the root view
  View root = someView.getRootView()

  // Set the color
  root.setBackgroundColor(getResources().getColor(android.R.color.red));

Второй метод

Добавьте эту единственную строку после setContentView (...);

getWindow().getDecorView().setBackgroundColor(Color.WHITE);

Третий метод

установить цвет фона для rootView

<?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/rootView"
</LinearLayout>

Важная вещь

rootView.setBackgroundColor(0xFF00FF00); //after 0x the other four pairs are alpha,red,green,blue color. 
Автор: Xar E Ahmer Размещён: 13.01.2015 11:03

1 плюс

Вы также можете попробовать указать Id для основного макета и изменить его фон с помощью основных манипуляций и поиска. Например:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/hello"

После чего можно получить доступ через R.id.hello .... Довольно просто, и я надеюсь, что это поможет :)

Автор: Maciej Musialek Размещён: 21.11.2013 05:20

0 плюса

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

Автор: RizN81 Размещён: 22.01.2012 12:43
Вопросы из категории :
32x32