Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

change background color of Preference

I have a PreferenceCategory, xml file and I have defined all preferences in it, I call this from class that extends PreferenceActivity. I am unable to set the background of my settings screen, this screen is displayed with help of xml file shown below. Please see that I have already defined the android:background="#041A37", still the screen remains default color: black.

public class MyPreferenceActivity extends PreferenceActivity {     @Override     public void onCreate(Bundle savedInstanceState) {         Context mContext=super.getBaseContext();         super.onCreate(savedInstanceState);         addPreferencesFromResource(R.layout.preference);         //v.setBackgroundColor(Color.rgb(4, 26, 55));     } } 

preference.xml is

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"     android:background="#041A37" >      <PreferenceCategory>         <com.dropcall.SeekBarPreference             android:background="#041A37"             android:defaultValue="5"             android:key="@string/Interference_Delay"             android:progressDrawable="@drawable/seekbardrawable"             android:title="Seconds Delay until intereference" />          <com.dropcall.SeekBarPreference2             android:defaultValue="30"             android:key="@string/Drop_Delay"             android:progressDrawable="@drawable/seekbardrawable"             android:title="Seconds delay until drop" />          <CheckBoxPreference             android:background="@drawable/state_normal"             android:defaultValue="true"             android:key="@string/Drop_Option"             android:title="Close after call drop" />         <CheckBoxPreference             android:background="@drawable/state_normal"             android:defaultValue="true"             android:key="@string/Timer_Option"             android:title="Start timers on launch" />     </PreferenceCategory>  </PreferenceScreen> 

Although I have set android:background="#041A37" in every file, the background doesn't turn into navy blue, or any other color for that matter. It remains default color, black. How to change the background color. Please let me know any pointers / hints , if you had faced same issue let me know what changes you made to set the background color.

like image 456
David Prun Avatar asked Aug 23 '10 19:08

David Prun


People also ask

How do I set background preferences?

Go to res>values>styles. xml> and add this code to your <style > </style> the style should must be app base theme in this @color/activ is color resources added to colors. Show activity on this post. I am using the PreferenceFragmentCompat, the below solution worked for me.

How do I change the default background color in Android Studio?

Create background color. By default each activity in Android has a white background. To change the background color, first add a new color definition to the colors. xml file in the values resource folder like the following.


1 Answers

You can define a theme and then set this for your PreferenceActivity in the manifest. Your theme can then define a a background color or a windowBackground image should you prefer that.

Manifest:

    <activity android:label="@string/app_label" android:name=".client.PreferencesActivity"         android:theme="@style/PreferencesTheme">         <intent-filter>                                         </intent-filter>     </activity> 

Then add the theme to your styles.xml

<style name="PreferencesTheme">     <item name="android:windowBackground">@drawable/background_image</item>     <item name="android:background">#FFEAEAEA</item> </style> 

In the above snippet there's both a background color and a background image defined to show how to do it.

like image 159
AndreasW Avatar answered Oct 23 '22 03:10

AndreasW