Подтвердить что ты не робот

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

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

view.setBackgroundColor(0xfff00000);

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Я не знаю, отвечает ли это на ваш вопрос, но вы можете попробовать установить цвет фона в макете 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>

Ответ 3

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

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

это поможет вам наверняка.

Ответ 4

Первый метод

 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. 

Ответ 5

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

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

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

Ответ 6

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