Cambiar el color de fondo de Preferencia
Tengo un PreferenceCategory
, archivo xml y he definido todas las preferencias en él, lo llamo de la clase que se extiende PreferenceActivity
. No puedo establecer el fondo de mi pantalla de configuración, esta pantalla se muestra con la ayuda del archivo xml que se muestra a continuación. Por favor, vea que ya he definido el android:background="#041A37"
, todavía la pantalla sigue siendo el color por defecto: negro.
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 es
- Android AVD Manager: No se puede crear una nueva definición de dispositivo (java.lang.NullPointerException)
- android TextView.setText no funciona en widget simple
- ¿Hay una manera de establecer ro.kernel.qemu a 0 en un emulador?
- Lamentablemente, la aplicación se ha detenido en Android Emulator
- ¿Cómo pasar el Array a otra actividad?
<?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>
Aunque he definido android:background="#041A37"
en cada archivo, el fondo no se convierte en azul marino, o cualquier otro color para esa materia. Sigue siendo el color predeterminado, negro. Cómo cambiar el color de fondo. Por favor, hágamelo saber cualquier punteros / indirectas, si usted hubiera hecho frente a mismo problema déjeme saber qué cambios usted hizo para fijar el color de fondo.
- Emulador: ADVERTENCIA: No se pudo inicializar la emulación de OpenGLES, utilizando software renderer
- Emulador de Android Ubuntu 14.04 no se pudo crear la ventana SDL2 GLX no compatible
- Obtener la ruta de una carpeta de la galería en Android
- Mensaje de error "qemu-system-i386.exe ha dejado de funcionar"
- Error de emulador de Android con excepción de punto flotante
- Subir imagen a la galería de emuladores
- Cómo utilizar GCM en el emulador Intel x86
- Emulador vs teléfono en cuál confiar?
Puede definir un tema y luego configurarlo para su PreferenceActivity en el manifiesto. Su tema puede entonces definir un color de fondo o una imagen de windowBackground si usted prefiere eso.
Manifiesto:
<activity android:label="@string/app_label" android:name=".client.PreferencesActivity" android:theme="@style/PreferencesTheme"> <intent-filter> </intent-filter> </activity>
A continuación, agregue el tema a sus estilos.xml
<style name="PreferencesTheme"> <item name="android:windowBackground">@drawable/background_image</item> <item name="android:background">#FFEAEAEA</item> </style>
En el fragmento anterior hay tanto un color de fondo como una imagen de fondo definida para mostrar cómo hacerlo.
Esto funcionó para mí
getListView().setBackgroundColor(Color.TRANSPARENT); getListView().setCacheColorHint(Color.TRANSPARENT); getListView().setBackgroundColor(Color.rgb(4, 26, 55));
Otro trabajo alrededor del color es que usted crea un tema para la actividad de las preferencias y pone el color de fondo de las vistas de la lista también:
<style name="PrefsTheme" parent="@android:style/Theme.Black.NoTitleBar"> <item name="android:windowBackground">@color/prefs_bg</item> <item name="android:textColor">@color/text_color</item> <item name="android:listViewStyle">@style/listViewPrefs</item> </style> <style name="listViewPrefs" parent="@android:style/Widget.ListView"> <item name="android:background">@color/prefs_bg</item> <item name="android:cacheColorHint">@color/prefs_bg</item> </style>
android:background
no es un atributo disponible, según la documentación .
Es posible que el tema de la PreferenceActivity
para lograr su cambio de color, aunque no he intentado esto, porque quiero que mis preferencias se parecen a las del resto de Android, para mejorar la usabilidad de la aplicación.
O usted puede también hacer dibujable como su fondo:
GetListView ().
SetBackgroundDrawable(getResources (). GetDrawable (R.drawable.bluegradient));
Nota: setBackgroundDrawable()
está obsoleto. En su lugar, utilice setBackground()
.
GetListView (). SetBackground (getResources (). GetDrawable (R.drawable.bluegradient));
Especifique un diseño lineal con una vista de texto adjunta y especifique el color de fondo y adjunte este xml a preferencecategory utilizando la propiedad de diseño.
<PreferenceCategory android:layout="@layout/preftitle" >
Donde preftitle es un xml que tiene un diseño lineal y una vista de texto adjunta.
Vaya a res>values>styles.xml>
y agregue este código a su <style > </style>
el estilo debe debe ser tema de base de la aplicación en este @color/activ
es los recursos de color agregados a los colores.
<style name="app_theme" parent="@android:style/Theme"> <item name="android:windowBackground">@color/activ</item> <item name="android:windowContentOverlay">@drawable/title_bar_shadow</item> <item name="android:listViewStyle">@style/TransparentListView</item> </style>
Si utiliza app_theme
nombre de la etiqueta de estilo, a continuación, añadir como esto a su manifiesto
<application android:name=".XXXXXX" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/app_theme" > //here
Si sólo desea cambiar su fondo
- Emulador de Android – Problemas para crear cuentas de usuario
- Fragmentos, setRetainInstance (true) y bibliotecas enhebradas