Image d’arrière-plan plein écran dans une activité

Je vois beaucoup d’applications qui utilisent une image en plein écran comme arrière-plan. Ceci est un exemple:

Image d'arrière-plan en plein écran

Je veux l’utiliser dans un projet, le meilleur moyen que j’ai trouvé jusqu’ici est d’utiliser une image de grande taille, de la placer dans un ImageView et d’utiliser android: adjustViewBounds="true" pour ajuster les marges

Le problème est que si un écran avec une très haute résolution, l’image est insuffisante.

Une autre option à laquelle je pensais est d’utiliser l’image dans un FrameLayout , avec match_parent en width et en height comme arrière-plan … cela étend l’image, mais je pense que le résultat n’est pas très bon.

Comment le feriez-vous?

Il y a plusieurs façons de le faire.

Option 1:

Créez différentes images parfaites pour différents dpi et placez-les dans un dossier pouvant être dessiné. Ensuite, réglez

android:background="@drawable/your_image

Option 2:

Ajoutez une seule grande image. Utilisez FrameLayout. En tant que premier enfant, ajoutez un ImageView . Définissez les éléments suivants dans votre ImageView.

 android:src="@drawable/your_image" android:scaleType = "centerCrop" 

Une autre option consiste à append une seule image (pas forcément grande) dans les tirables (nommons-le backgroung.jpg), créez un ImageView iv_background à la racine de votre XML sans atsortingbut “src”. Ensuite, dans la méthode onCreate de l’activité correspondante:

  /* create a full screen window */ requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.your_activity); /* adapt the image to the size of the display */ Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); Bitmap bmp = Bitmap.createScaledBitmap(BitmapFactory.decodeResource( getResources(),R.drawable.background),size.x,size.y,true); /* fill the background ImageView with the resized image */ ImageView iv_background = (ImageView) findViewById(R.id.iv_background); iv_background.setImageBitmap(bmp); 

Pas de recadrage, pas beaucoup d’images de tailles différentes. J’espère que cela aide!

Vous devriez mettre les différentes images de taille dans le dossier suivant

pour plus de détails, visitez ce lien

  • ldpi

  • mdpi

  • hdpi

  • xhdpi

  • xxhdpi

et utiliser l’arrière-plan RelativeLayout ou LinearLayout au lieu d’utiliser ImageView comme exemple suivant

    

Qu’en est-il de

android:background="@drawable/your_image"

sur la mise en page principale de votre activité?

De cette façon, vous pouvez également avoir différentes images pour différentes densités d’écran en les plaçant dans les dossiers res/drawable-**dpi appropriés.

utilisez ceci

 android:background="@drawable/your_image 

dans votre activité toute première disposition linéaire ou relative.

Si vous souhaitez que votre image affiche DERRIÈRE une barre d’action transparente, insérez ce qui suit dans la définition de style de votre thème:

 true true 

Prendre plaisir!

Cela fait un moment que cela a été posté, mais cela m’a aidé.

Vous pouvez utiliser des mises en page nestedes. Commencez avec un RelativeLayout, et placez votre ImageView dans ce format.

Définissez la hauteur et la largeur sur match_parent pour remplir l’écran.

Set scaleType = “centreCrop” pour que l’image s’adapte à l’écran et ne s’étire pas.

Vous pouvez ensuite mettre en place d’autres mises en page comme vous le feriez normalement, comme LinearLayout ci-dessous.

Vous pouvez utiliser Android: alpha pour définir la transparence de l’image.

        

Dans les lignes avec la réponse de NoToast, vous devriez avoir plusieurs versions de “your_image” dans votre res / drawable-ldpi, mdpi, hdpi, x-hdpi (pour les écrans xtra large), supprimer match_parent et garder Android: adjustViewBounds = ” vrai”

Ajouter android:background="@drawable/your_image" dans votre Relativelayout / Linearlayout Worked.

Si vous avez bg.png comme image de fond, alors simplement:

    

Le moyen le plus simple:

Étape 1: Ouvrez le fichier AndroidManifest.xml

Vous pouvez voir le fichier ici!

Étape 2: Localisez android:theme="@style/AppTheme" >

Étape 3: Passez à android:theme="@style/Theme.AppCompat.NoActionBar" >

Étape 4: Ajoutez ensuite ImageView & Image

Étape 4: Ça y est!

Travail. vous devriez essayer ceci:

 android:src="@drawable/img" 

three step for put background

1) vous devriez choisir votre image comme par exemple: entrez la description de l’image ici

2) Ensuite, vous copiez cette image dans le dessin. avertissement: vous devez choisir des types courts pour l’image du nom.

entrer la description de l’image ici

3) vous allez à la page xml Intention et écrivez:

android: background = “id image” par exemple mon identifiant est @ drawable / download.

entrer la description de l’image ici

terminer.