Я хочу изменить цвет фона моего основного вида (не Button или Text-View), просто реальный фон, который обычно черный... Я получил этот код:
view.setBackgroundColor(0xfff00000);
Это внутри OnClickListener
, но он просто меняет фон кнопки.
Я хочу изменить цвет фона моего основного вида (не Button или Text-View), просто реальный фон, который обычно черный... Я получил этот код:
view.setBackgroundColor(0xfff00000);
Это внутри OnClickListener
, но он просто меняет фон кнопки.
Попробуйте создать метод в своем Activity
что-то вроде...
public void setActivityBackgroundColor(int color) {
View view = this.getWindow().getDecorView();
view.setBackgroundColor(color);
}
Затем вызовите его из вашего передатчика OnClickListener в любом цвете, который вы хотите.
Я не знаю, отвечает ли это на ваш вопрос, но вы можете попробовать установить цвет фона в макете 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>
Просто добавьте это ниже одного кода строки в XML файл этого соответствующего действия:
android:background="@android:color/black"
это поможет вам наверняка.
Первый метод
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.
Вы также можете попытаться предоставить идентификатор для основного макета и изменить фон этого путем основных манипуляций и поиска. Например:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/hello"
Затем после этого можно получить доступ через R.id.hello.... Довольно простой, и я надеюсь, что это поможет:)
если вы разместите свой полный код здесь, чтобы я мог вам помочь. если вы настроите прослушиватель в XML и вызвали заданный цвет фона в представлении, чтобы он изменил цвет фона в представлении, значит, ур Боттон так уложил слушателя ур в активность ура, а затем изменил цвет вашего представления.