2012-10-01 23 views
9

me he dado cuenta de que el setBackground método para la objeto RelativeLayout se apunta para la API 16 (Android 4.1) y más alto, pero mi aplicación tiene la API objetivo 8 y no puedo usarlo.Android - establecer fondo de diseño mediante programación

¿Hay alguna solución alternativa para este problema (además de marcar la clase/método con TargetApi (16) o cambiar la API de destino en el manifiesto)?
¡Gracias!

Editar: Eclipse fue buggy y me mostró el mismo error para setBackgroundDrawable pero ahora parece que funciona. Gracias por tu ayuda.

Respuesta

31

Utilice uno de:

Si nos e el segundo uno, asegúrese de hacer una verificación de la condición de su versión de la API:

if (Build.VERSION.SDK_INT >= 16) 
    view.setBackground(...); 
else 
    view.setBackgroundDrawable(...); 

... y marcarlo con @TargetApi(16) y @SuppressWarnings("deprecation").

+1

ah sé del método .setBackgroundDrawable (Disponibles) pero para mí el IDE tenido el mismo error con api 16 requisito. Estoy usando Eclipse y parecía ser un error después de volver a abrir el ide y limpiar el código un poco, funcionó. Que mucho y lo siento por problemas. – sethengine

+1

@sethengine No se preocupe por el problema, ¡estamos aquí para ayudarlo! Me alegro de que hayas resuelto el problema. – Eric

1

Depende. Si desea establecer un color como fondo, use setBackgroundColor(). Para un Disponibles, puede utilizar el método ahora obsoleto setBackgroundDrawable() para las API por debajo de 16, y setBackground() para dispositivos API 16. También puede usar setBackgroundResource() para establecer un recurso como fondo.

Tenga en cuenta que mientras que una gran cantidad de métodos están marcados como obsoletos, estoy todavía con uno de ellos que en realidad ha sido eliminado. Así, mientras que usted podría utilizar el método en desuso incluso en API 16, me gustaría recomendar el establecimiento de su API objetivo a 16 y utilizando un caso más para cambiar entre los métodos, dependiendo de la versión de la API del dispositivo está en funcionamiento.

Cuestiones relacionadas