Para establecer el fondo:
RelativeLayout layout =(RelativeLayout)findViewById(R.id.background);
layout.setBackgroundResource(R.drawable.ready);
¿Es la mejor forma de hacerlo?
java
android
background
drawable
Chad Bingham
fuente
fuente
remoteViews.setInt(R.id.btn_start,"setBackgroundResource", R.drawable.ic_button_start);
Respuestas:
layout.setBackgroundResource(R.drawable.ready);
es correcto.Otra forma de lograrlo es usar lo siguiente:
Pero creo que el problema se produce porque estás intentando cargar imágenes grandes.
Aquí hay un buen tutorial sobre cómo cargar mapas de bits grandes.
ACTUALIZACIÓN:
getDrawable (int) en desuso en el nivel 22 de API
getDrawable(int )
ahora está en desuso en el nivel 22 de API. En su lugar, debe usar el siguiente código de la biblioteca de soporte:Si hace referencia al código fuente de ContextCompat.getDrawable , le dará algo como esto:
Más detalles sobre ContextCompat
A partir de API 22, debe usar el
getDrawable(int, Theme)
método en lugar de getDrawable (int).ACTUALIZACIÓN:
Si está utilizando la biblioteca de soporte v4, lo siguiente será suficiente para todas las versiones.
Deberá agregar lo siguiente en su aplicación build.gradle
O usando ResourceCompat, en cualquier API como a continuación:
fuente
if(buttonBackground.equals(R.drawable.myDrawable))
dóndeDrawable buttonBackground = myButton.getBackground();
obtengo este error: snag.gy/weYgA.jpgmyActivity.getTheme()
la última versión del método, en lugar del parámetro nulo:myView.setBackground( getResources().getDrawable(R.drawable.my_background, activity.getTheme()));
AppCompatResources.getDrawable(this.getContext(), resId)
en su lugar, Google ya lo implementó enAppCompat*
widget / view, por ejemplo:android.support.v7.widget.AppCompatCheckBox
Prueba esto:
y para API 16 <:
fuente
getResources().getDrawable()
. El código correcto eslayout.setBackgroundResource(R.drawable.ready);
como el OP usado. El problema aquí proviene del tamaño del mapa de bits.ahora, dentro de cualquier función como onCreate, onResume
fuente
También puede establecer el fondo de cualquier imagen:
fuente
(.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
el código internoEstoy usando una minSdkVersion 16 y targetSdkVersion 23.
Lo siguiente está funcionando para mí, usa
En lugar de usar:
Más bien uso:
getActivity()
se usa en un fragmento, si se llama desde una actividad, se usathis
.fuente
Si sus fondos están en la carpeta dibujable en este momento, intente mover las imágenes de la carpeta dibujable a dibujable-nodpi en su proyecto. Esto funcionó para mí, parece que las imágenes son reescaladas por ellos mismos.
fuente
Use butterknife para vincular el recurso extraíble a una variable agregando esto a la parte superior de su clase (antes de cualquier método).
luego dentro de uno de sus métodos agregue
Eso es todo lo que necesitas
fuente
fuente
Intenta
ViewCompat.setBackground(yourView, drawableBackground)
fuente
Prueba este código:
fuente
prueba esto.
fuente
fuente
Dentro de la aplicación / res / your_xml_layout_file .xml
fuente